Top PageSecurity TopCMS Top

汎用的に使われるタイプ

CMSで使われるタイプを示す。

RevocationInfoChoices

失効の情報のセットが格納される。
これは、証明書及び属性証明書が失効されたか限定する為に、セットが情報を充分に含む事を意図される。
しかしながら、これらは必要以上の失効情報であるか、必要以下の失効情報となるかもしれない。
X.509証明書失効リスト[X.509-97]は、主要な失効情報のソースであるが、その他の失効情報もサポートされる。

ASN.1による記述は以下の通り。

RevocationInfoChoices ::= SET OF RevocationInfoChoice
RevocationInfoChoice ::= CHOICE {
  crl CertificateList,
  other [1] IMPLICIT OtherRevocationInfoFormat }
OtherRevocationInfoFormat ::= SEQUENCE {
  otherRevInfoFormat OBJECT IDENTIFIER,
  otherRevInfo ANY DEFINED BY otherRevInfoFormat }
RevocationInfoChoiceについて
フィールド名 内容
crl CertificateListは、以下が含まれるかもしれない。
  • Certificate Revocation List (CRL) [X.509-97]
    (インターネットで使うための概要は、"RFC 5280 [PROFILE]"を参照。)
  • Authority Revocation List (ARL)
  • Delta CRL
  • Attribute Certificate Revocation List
other CMS用に更に変更された物を除き、その他の失効情報をサポートする為に提供される。
例えば、Online Certificate Status Protocol (OCSP) Responses [OCSP]。

CertificateChoices

CertificateChoicesは、以下の何れかが与えられる。

  • PKCS #6 extended certificate [PKCS#6]
  • X.509 電子証明書
  • X.509 属性証明書 version 1 (ACv1) [X.509-97]
  • X.509 属性証明書 version 2 (ACv2) [X.509-00]
  • その他

ASN.1による記述は以下の通り。

CertificateChoices ::= CHOICE {
  certificate Certificate,
  extendedCertificate [0] IMPLICIT ExtendedCertificate, -- Obsolete
  v1AttrCert [1] IMPLICIT AttributeCertificateV1,       -- Obsolete
  v2AttrCert [2] IMPLICIT AttributeCertificateV2,
  other [3] IMPLICIT OtherCertificateFormat }
OtherCertificateFormat ::= SEQUENCE {
  otherCertFormat OBJECT IDENTIFIER,
  otherCert ANY DEFINED BY otherCertFormat }

以下、廃止された定義

ExtendedCertificate ::= SEQUENCE {
  extendedCertificateInfo ExtendedCertificateInfo,
  signatureAlgorithm SignatureAlgorithmIdentifier,
  signature Signature }
ExtendedCertificateInfo ::= SEQUENCE {
  version CMSVersion,
  certificate Certificate,
  attributes UnauthAttributes }
Signature ::= BIT STRING
CertificateChoicesについて
フィールド名 内容
certificate X.509 公開鍵証明書
"Internet X.509 Public Key Infrastructure: Certificate and CRL Profile" [PROFILE] 参照。
extendedCertificate 廃止。後方互換の為に残される。このタイプは使わないべきである。
v1AttrCert 廃止。後方互換の為に残される。このタイプは使わないべきである。
v2AttrCert X.509 属性証明書
"An Internet Attribute Certificate Profile for Authorization" [ACPROFILE] 参照。
other その他の証明書
CMS用に更に変更された物を除き、その他の失効情報をサポートする為に提供される。

CertificateSet

証明書のセットが格納される。
これは、セットが証明書パスを充分に含む事を意図される。
(認定された「ルート」若しくは「トップレベル認証機関」〜送信者の電子証明書の全て)
しかしながら、必要より電子証明よが多いかもしれないし、必要より少ないかもしれない。

多くのアプリケーションは、証明書パスの長さの上限がある。
その他、証明書パスの内部で対象者と発行者との確実な関係を主張(enforce)する。

ASN.1による記述は以下の通り。

CertificateSet ::= SET OF CertificateChoices

IssuerAndSerialNumber

IssuerAndSerialNumberは、電子証明書と、それによる実体と公開鍵を識別する。
(証明書発行者の識別された名前と、発行者固有の証明書シリアル番号により。)

ASN.1による記述は以下の通り。

IssuerAndSerialNumber ::= SEQUENCE {
  issuer Name,
  serialNumber CertificateSerialNumber }
  CertificateSerialNumber ::= INTEGER
IssuerAndSerialNumberについて
フィールド名 内容
issuer 発行者。X.501 [X.501-88] を参照。
serialNumber シリアル番号。X.509 [X.509-97] を参照。

CMSVersion

過去の版との互換性の為に、ヴァージョン番号を指定する。
ASN.1による記述は以下の通り。

CMSVersion ::= INTEGER
               { v0(0), v1(1), v2(2), v3(3), v4(4), v5(5) }

UserKeyingMaterial

UserKeyingMaterialは、鍵材料(User Keying Material [UKM])が与えられる。
多くの鍵合意アルゴリズムは、それぞれの時間で異なる鍵を生成、 同様に2人の関係者がペア鍵を生成する為にUKMを要する。
送信者は、鍵合意アルゴリズムで使う為に、UKMを提供する。

ASN.1による記述は以下の通り。

UserKeyingMaterial ::= OCTET STRING

OtherKeyAttribute

OtherKeyAttributeは、送信者によって使われた鍵を選択するため、 その他の受取人を容認する鍵属性の包含の為の構文を与える。
相互運用性を妨げて以来、この構文の使用は回避するべきである。

ASN.1による記述は以下の通り。

OtherKeyAttribute ::= SEQUENCE {
  keyAttrId OBJECT IDENTIFIER,
  keyAttr ANY DEFINED BY keyAttrId OPTIONAL }
OtherKeyAttributeについて
フィールド名 内容
keyAttrId 構文と一緒に、公式に登録されたOIDでなければならない。
keyAttr keyAttrIdによって定義された属性情報。