9.1 標準仕様
1) 基本となる仕様
 「RFC2311 "S/MIME Version 2 Message Specification"」
 「RFC2312 "S/MIME Version 2 Certificate Handling"」

2) RSA暗号アルゴリズム
 「RFC2313 "PKCS #1 : RSA Encryption Version 1.5"」

3) 証明書署名要求
 「RFC2314 "PKCS #10 : Certification Request Syntax Version 1.5"」
 認証局への証明書署名要求データのフォーマットについて記述しています。

4) 暗号メッセージ
 「RFC2315 "PKCS #7 : Cryptographic Message Syntax Version 1.5"」
 暗号データのフォーマット。電子署名、暗号化、電子署名+暗号化、証明書、CRL(若干)のデータフォーマットについて記述されています。

5) クリア電子署名のMIMEヘッダについて
 「RFC 1847 "Security Multiparts for MIME "」
6) CRL
 「RFC1422 "Privacy Enhancement for Internet Electronic Mail : Part II: Certificate-Based Key Management"」

7) PKCS
 もともと、S/MIMEは米国のRSA Data Security Inc.が中心なって開発された、電子メールの暗号プロトコルです。そのため、S/MIMEで用いられる暗号文のデータフォーマットはPKCS(Public Key Crypt System)と呼ばれるRSA Data Security Inc.が開発して仕様を基本にしているのです。

9.2 MIMEヘッダ

S/MIMEのメールメッセージは
@電子封書、電子署名のデータをPKCS#7に規定されたフォーマットにします。
A @のデータをBase64にエンコードして、RFC2311に規定されている、MIMEヘッダをつけた添付ファイルにします。ただし、現在、流通しているアプリケーションでは、ほとんどが、Internet Draftの段階で定義されていたMIMEヘッダを使っています。

1) 電子封書または、電子署名を含む電子封書
RFC
 Content-Type: application/pkcs7-mime; smime-type=enveloped-data;  name=smime.p7m
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename=smime.p7m
Internet Draft
 Content-Type: application/x-pkcs7-mime; name=smime.p7m
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename=smime.p7m

2) 電子署名
RFC
 Content-Type: application/pkcs7-mime; smime-type=signed-data; name=smime.p7m
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename=smime.p7m
Internet Draft
 Content-Type: application/x-pkcs7-mime; name=smime.p7m
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename=smime.p7m

3) クリア電子署名
RFC
 Content-Type: application/pkcs7-signature; name=smime.p7s
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename=smime.p7s
Internet Draft
 Content-Type: application/x-pkcs7-signature; name=smime.p7s
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename=smime.p7s

4) 証明書署名要求
RFC
 Content-Type: application/pkcs10; name=smime.p10
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename=smime.p10
Internet Draft
 Content-Type: application/x-pkcs10; name=smime.p10
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename=smime.p10

5) 証明書
RFC
 Content-Type: application/pkcs7-mime; smime-type=cert-only; name=smime.p7c
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename=smime.p7c
Internet Draft
 Content-Type: application/x-pkcs7-mime; name=smime.p7c
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename=smime.p7c

 

9.3 電子署名の例

1) クリア電子署名 multipart/signed の場合

To: Hiroyuki Sawano <sawano@orangesoft.co.jp >
From: Taro Sawano <sawano1@orangesoft.co.jp >
Subject: Digital Sign
MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=sha1; boundary="------------ms8B7876C5A4971B52E1D24E61"

This is a cryptographically signed message in MIME format.

--------------ms8B7876C5A4971B52E1D24E61
Content-Type: text/plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

こんにちは、
明日の打ち合わせの件ですが、(JISコード)


--------------ms8B7876C5A4971B52E1D24E61
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIIQDwYJKoZIhvcNAQcCoIIQADCCD/wCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCC
Dn0wggnHMIIJMKADAgECAhA4kcRP4QGC7RTq2FZKZF0TMA0GCSqGSIb3DQEBBAUAMGIxETAP
(中略)
MjQ2MzRaMB4GCSqGSIb3DQEJDzERMA8wDQYIKoZIhvcNAwICASgwDQYJKoZIhvcNAQEBBQAE
QBOPytJm3nmFp6lYXCZHlDyG9VULk8hhgyU0vAHELLV/9Grx4+5fVbeerP/YXSmoZx8G6CTw
J7/hi+ooJvN4cuM=
--------------ms8B7876C5A4971B52E1D24E61--

2) PKCS#7 signedData の場合
To: Hiroyuki Sawano <sawano@orangesoft.co.jp >
From: Taro Sawano <sawano1@orangesoft.co.jp >
Subject: Digital Sign
MIME-Version: 1.0
Content-Type: application/x-pkcs7-mime; name="smime.p7m"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"

MIAGCSqGSIb3DQEHAqCAMIACAQExDjAMBggqhkiG9w0CBQUAMIAGCSqGSIb3DQEHAaCAJIAEbkNv
bnRlbnQtVHlwZTogdGV4dC9wbGFpbg0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogcXVvdGVk
(中略)
hvcNAQkEMRIEEFE6IM/MZQmTGdlaAG17hE4wDQYJKoZIhvcNAQEBBQAEQC+f4FYqZiV4QgzS3BAB
YpazDyMF61HtuVOU5rZ9lguQzFB/nH6K+G0cF1+hAmaGdpFkC3lCVh0Py2XnMPg5TvoAAAAAAAAA
AA==

 

9.4 暗号化

To: Hiroyuki Sawano <sawano@orangesoft.co.jp >
From: Taro Sawano <sawano1@orangesoft.co.jp >
Subject: Digital Envelop
MIME-Version: 1.0
Content-Type: application/x-pkcs7-mime; name="smime.p7m"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7m"
Content-Description: S/MIME Encrypted Message

MIAGCSqGSIb3DQEHA6CAMIACAQAxgc8wgcwCAQAwdjBiMREwDwYDVQQHEwhJbnRlcm5ldDEX
MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNDAyBgNVBAsTK1ZlcmlTaWduIENsYXNzIDEgQ0Eg
(中略)
Bh0SaWCqCd9p0OpbNnHyi2G3tvMEuC74u+nvWjZT8fXeBAggdxGjYOObZQQIUHE0vqb2lnIA
AAAAAAAAAAAA

 

9.5 電子署名+暗号化

To: Hiroyuki Sawano <sawano@orangesoft.co.jp >
From: Taro Sawano <sawano1@orangesoft.co.jp >
Subject: Digital Sign And Digital Envelop
MIME-Version: 1.0
Content-Type: application/x-pkcs7-mime; name="smime.p7m"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7m"
Content-Description: S/MIME Encrypted Message

MIAGCSqGSIb3DQEHA6CAMIACAQAxgc8wgcwCAQAwdjBiMREwDwYDVQQHEwhJbnRlcm5ldDEX
MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xNDAyBgNVBAsTK1ZlcmlTaWduIENsYXNzIDEgQ0Eg
LSBJbmRpdmlkdWFsIFN1YnNjcmliZXICEDiRxE/hAYLtFOrYVkpkXRMwDQYJKoZIhvcNAQEB
(中略)
BJ/HfTc8/7A5BBBpHHa3fZXWmE4T/uRhx4NiBDCGvxP7QFMih9lWyt6FPuCfmwwHJOrjqBkQ
eORM8+HsW8F50a47Pk7VZ6cEBs7NXw8ECIhY5KF/fCVhAAAAAAAAAAAAAA==

9.6 証明書署名要求

To: smime-enroll@digitalid.verisign.com
From: sawano1@orangesoft.co.jp
Reply-To: sawano1@orangesoft.co.jp
Subject: Cert Request
Mime-Version: 1.0
Content-Type: application/x-pkcs10
Content-Transfer-Encoding: base64

MIIBQDCB6wIBADA9MRkwFwYDVQQDExBBbGV4YW5kcmUgRGVhY29uMSAwHgYJKoZI
(中略)
YTEwDQYJKoZIhvcNAQECBQADQQABpH1/eqAnA6bA6zxDYZvJp8I8qXabr1ltGda7
j5spUlSbUZkPiA0Dgw2O21FytHz5NYb6oo9MJeiytHgw3VoH

 

9.7 証明書の添付

1) 署名要求の応答として、認証局から送られてきたメール

From: smime-info@verisign.co.jp
To: sawano@orangesoft.co.jp
Subject: Your VeriSign Class 1 S/MIME Digital ID
Errors-to: errors@verisign.co.jp
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="=================VeriSignOnlineCA_926060059_"
X-winbiff-flags: Seen

--=================VeriSignOnlineCA_926060059_
Content-Type: application/x-pkcs7-mime; name="verisign.p7c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="verisign.p7c"

MIIH4gYJKoZIhvcNAQcCoIIH0zCAAgEBMQAwCwYJKoZIhvcNAQcBoIAwggRzMIID
3KADAgECAhBSHbxudA47yQAkoRWHwCk0MA0GCSqGSIb3DQEBBAUAMIG1MRwwGgYD
(中略)
nBBRrT38GgTb5UzC1d3ltwRuluUEWzTYSGqFZdIPGMNWLiHsVRQ+8lCnL0Hzjk4b
htMvd1ekbp84WuohKzi2m7b9OcHvlVJ0rJJxfqjgi2D/bjCCgfyZg4lpzaZ1GwBz
AAAxAAAA

--=================VeriSignOnlineCA_926060059_
Content-Type: text/plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit


この度は、ベリサインのS/MIME用デジタルIDをお申し込み頂きありがとう
ございました。 (JISコード)

(中略)

VeriSign Digital ID Center
id-center@verisign.co.jp

--=================VeriSignOnlineCA_926060059_
Content-Type: text/plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

デジタルID加入契約
デジタルID(証明書)を申請し、承認し、または使用する前にこの加入契約を必
ずお読み下さい。 もし、この 加入契約の規定に同意しない場合は、デジタルID
(証明書)の申請、承認または使用をしないで下さい。

(後略)

--=================VeriSignOnlineCA_926060059_--


2) PKCS#7 証明書 複数の証明書を1つのファイルにいれることが可能です。

From: Taro Sawano <sawano1@orangesoft.co.jp>
Mime-Version: 1.0
Content-Type: MultiPart/Mixed; Boundary="---------971840212-66036305"
X-winbiff-flags: Seen

-----------971840212-66036305
Content-Type: text/plain; charset=iso-2022-jp

こんにちは、私の証明書です。(JISコード)

-----------971840212-66036305
Content-Transfer-Encoding: Base64
Content-Type: application/pkcs7-mime; name="sawano1.p7c"
Content-Disposition: attachment; filename=" sawano1.p7c"

MIAGCSqGSIb3DQEHAqCAMIACAQExADALBgkqhkiG9w0BBwGggDCCBHQwggPdoAMCAQICED8
lXamPnts5jp/o62cvbMwDQYJKoZIhvcNAQEEBQAwgbUxHDAaBgNVBAoTE1ZlcmlTaWduIEph
(中略)
ZdIPGMNWLiHsVRQ+8lCnL0Hzjk4bhtMvd1ekbp84WuohKzi2m7b9OcHvlVJ0rJJxfqjgi2D/
bjCCgfyZg4lpzaZ1GwBzAAAxAAAAAAAAAA==

-----------971840212-66036305-

3) DERエンコードされたX.509証明書 の形式
From: Taro Sawano <sawano1@orangesoft.co.jp>
Mime-Version: 1.0
Content-Type: MultiPart/Mixed; Boundary="---------971840212-66036305"
X-winbiff-flags: Seen

-----------971840212-66036305
Content-Type: text/plain; charset=iso-2022-jp

こんにちは、私の証明書です。(JISコード)

-----------971840212-66036305
Content-Transfer-Encoding: Base64
Content-Type: application/ pkix-cert; name="sawano1.cer"
Content-Disposition: attachment; filename=" sawano1.cer"

MIAGCSqGSIb3DQEHAqCAMIACAQExADALBgkqhkiG9w0BBwGggDCCBHQwggPdoAMCAQICED8
lXamPnts5jp/o62cvbMwDQYJKoZIhvcNAQEEBQAwgbUxHDAaBgNVBAoTE1ZlcmlTaWduIEph
(中略)
ZdIPGMNWLiHsVRQ+8lCnL0Hzjk4bhtMvd1ekbp84WuohKzi2m7b9OcHvlVJ0rJJxfqjgi2D/
bjCCgfyZg4lpzaZ1GwBzAAAxAAAAAAAAAA==

-----------971840212-66036305-

 

 


 


Copyright(c) 2001 Information-technology Promotion Agency, Japan All rights reserved.