Я пытаюсь подписать почту, используя PGP в php. Я мог заставить границы и заголовки работать правильно, но почтовая подпись недействительна (как заявляет Thunderbirds Enigmail).
Мой вопрос заключается в том, какую часть следует подписывать и на что следует обращать внимание при этом.
На данный момент источник сгенерированного письма выглядит так (текст и подпись заменены заполнителями, чтобы их было легко читать):
Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=_1b5364229a82b654fad7cf2aa969f02e"
MIME-Version: 1.0
This is a message in Mime Format. If you see this, your mail reader does not support this format.
--=_1b5364229a82b654fad7cf2aa969f02e
Content-Type: multipart/alternative;
boundary="=_53ba9ef8c471e6c8d72f215feaad8033"
Content-Transfer-Encoding: 7bit
--=_53ba9ef8c471e6c8d72f215feaad8033
&Content-Type: text/plain; charset=UTF-8
&Content-Transfer-Encoding: quoted-printable
&
&PLAIN TEXT CONTENT ENCODED IN QUOTED PRINTABLE
&
&--=_53ba9ef8c471e6c8d72f215feaad8033
&Content-Type: text/html; charset=UTF-8
&Content-Transfer-Encoding: quoted-printable
&
&HTML CONTENT ENCODED IN QUOTED PRINTABLE
--=_53ba9ef8c471e6c8d72f215feaad8033--
--=_1b5364229a82b654fad7cf2aa969f02e
Content-Type: application/pgp-signature; name="signature.asc"
Content-Disposition: attachment; filename="signature.asc"
Content-Description: OpenPGP digital signature
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
PGP SIGNATURE HERE
-----END PGP SIGNATURE-----
--=_1b5364229a82b654fad7cf2aa969f02e--
В настоящее время строки, начинающиеся с &, используются для создания подписи. Разрывы строк — это просто новые строки (PHP_EOL).
Я пытался следовать RFC2015, но, похоже, это не относится к составному/альтернативному контенту.
Пожалуйста, помогите мне здесь, чтобы я мог закончить это.