電子証明書の定義であるRFC5280を読んでみる(ASN1)その③(標準拡張領域)

NO IMAGE

x.509の標準拡張領域について読んでみます。多いので一つづつ。今日はAuthority Key Identifierを読みたいと思います。
Standard Extensions(標準拡張)
——————————————————————-
1.Authority Key Identifier(Authority 鍵識別子)
2.Subject Key Identifier(サブジェクト鍵識別子)
3.Key Usage(鍵用途)
4.Certificate Policies(証明書ポリシー)
5.Policy Mappings(ポリシーマッピング)
6.Subject Alternative Name(サブジェクト代替名)
7.Issuer Alternative Name(発行者代替名)
8.Subject Directory Attributes(サブジェクトディレクトリ属性)
9.Basic Constraints(基本制約)
10.Name Constraints(名前制約)
11.Policy Constraints(ポリシー制約)
12.Extended Key Usage(拡張された鍵用途)
13.CRL Distribution Points(CRL 配布点)
14.Inhibit anyPolicy
15.Freshest CRL (a.k.a. Delta CRL Distribution Point)
——————————————————————-
【1. Authority Key Identifier】
これは、発行者(CA)が複数の鍵を所有する場合にどの秘密鍵で証明書に署名がされているかを特定するためのフィールドです。
——————————————————————-
id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::= { id-ce 35 } …①
AuthorityKeyIdentifier ::= SEQUENCE { …②
keyIdentifier [0] KeyIdentifier OPTIONAL,
authorityCertIssuer [1] GeneralNames OPTIONAL,
authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL }
KeyIdentifier ::= OCTET STRING …③
——————————————————————-
①OID
id-ceというのはVersion 3 certificate extensions(証明書拡張のv3)に使用されるidを指す。OIDで表現すると{joint-iso-itu-t(2) ds(5) certificateExtension(29)}となる。Authority Key Identifierは、その中のid-ce 35なので、OIDは「2.5.29.35」となるそうです。(ceは「certificateExtension」の略のようです。)
②Authority Key Identifierの定義
::= SEQUENCEなので、keyIdentifier(鍵識別子)、authorityCertIssuer(鍵の発行者)、authorityCertSerialNumber(鍵のシリアル番号)の順にAuthority Key Identifierが構成される。
③KeyIdentifierの型
型はOCTET STRINGとなる。