multipart/encrypted媒体型で、 protocol パラメーターと 最初の部分を媒体型 application/pgp-encrypted とします。 その本文は、「Version: 1」とだけ書きます。 (と書かれてるけど、その後に *CRLF があっていいみたい。)
2番目の部分が、実際の暗号化データになります。 実質的なデータは全てこちらに含まれます。 '-----BEGIN PGP MESSAGE-----' で始まります。
See also PGPメッセージ交換形式 (RFC 1991/2440)
multipart/signed媒体型で、 protocol パラメーターと 2番目の部分を application/pgp-signature にします。 '-----BEGIN PGP MESSAGE-----' で始まるデータです。
micalg パラメーターは、 "pgp-<hash-symbol>" と定義されてます。 RFC 2015 では <hash-symbol> は md5 と sha1 が定義されてます。 RFC 3156 は OpenPGP を参照しています。 See PGPメッセージ交換形式
1. データを用意する。 text/plain媒体型では CRLF 正規形で 適切な charset にする。 (たぶん、他の text/*媒体型でも 正規形にする必要がある。)
2. 必要なら CTE で 7bit データにする。この結果、改行は CRLF 正規形になってなきゃあかん。
3. MIME 頭を追加。改行は CRLF だよ。 (しつこいね。)
4. 頭・本文の署名を計算。
5. 署名は署名したデータとは別個に生成されなければならず、 よって過程はいかなる方法でも署名したデータを 替えてはいけません。
1. CRLF 正規形に改行を変換
2. 頭・本文と PGP 署名を検証サービスに渡す
multipart/encrypted と multipart/signed を組み合わせてもいいし、 PGP にまとめてやらせてもいいらしい。
RFC 2015 は PGP 公開鍵用の application/pgp-keys媒体型を定義しています。
"PGP", "Pretty Good", "Pretty Good Privacy" は幾つかの地域では Network Associates, Inc. の登録商標です。
[2]
S/Mime and PGP Products and Interoperability (1998-11-11 03:18:36 +09:00
版) <http://www.strom.com/places/smime.html>
(名無しさん)
[3] secure email-clients with PGP/MIME (Martin Bretschneider 著, 版) <http://www.bretschneidernet.de/tips/secmua.html.en>
[4] MUA supported PGP and PGP/MIME ( 版) <http://www.cla-ri.net/pgp/pgp04.html>
[5] Code Probrem ( 版) <http://www.cla-ri.net/pgp/pgp02.html>
[1] PGP/MIME 入門 ( 版) <http://www.mew.org/~kazu/doc/pgpmime.html>