* 暗号化 [[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-" と定義されてます。 RFC 2015 では は 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/MIME 入門 by 山本和彦さん "PGP", "Pretty Good", "Pretty Good Privacy" は幾つかの地域では Network Associates, Inc. の登録商標です。 [1] てすとだよーん ([[びあんこ]] [everfree_hide_jets_1213@yahoo.co.jp] [WEAK[2006-06-02 04:07:58 +00:00]]) [2] [CITE[S/Mime and PGP Products and Interoperability]] ([CODE[1998-11-11 03:18:36 +09:00]] 版) ([[名無しさん]]) [3] [CITE[secure email-clients with PGP/MIME]] ([[Martin Bretschneider]] 著, [TIME[2007-01-08 06:55:41 +09:00]] 版) ([[名無しさん]])