X.509拡張
X.509証明書 に追加される、用途・制約・識別情報を表す拡張フィールド
何のためにあるのか
Section titled “何のためにあるのか”X.509拡張は、証明書に対して次のような情報を追加するために使う。
- この証明書は CA 証明書か
- この鍵は何に使ってよいか
- TLSサーバー証明書として使えるか
- どのDNS名・IPアドレスに対して有効か
- どのCAに署名された証明書か
よく使う拡張
Section titled “よく使う拡張”| 拡張 | 役割 |
|---|---|
| basicConstraints | CA証明書かどうかを示す |
| keyUsage | 鍵の基本用途を示す |
| extendedKeyUsage | 鍵の具体的な用途を示す |
| subjectKeyIdentifier | この証明書の鍵の識別子 |
| authorityKeyIdentifier | 署名したCAの鍵の識別子 |
| subjectAltName | 証明書が有効なドメイン名・IPアドレスを示す |
basicConstraints
Section titled “basicConstraints”CA証明書かどうかを示す。
basicConstraints=critical,CA:TRUE,pathlen:1| 値 | 役割 | 使用先 |
|---|---|---|
critical |
検証側がその拡張を理解できない場合、証明書を拒否させる | CA証明書、サーバー証明書 |
CA:TRUE |
CA証明書として使えることを示す | CA証明書 |
CA:FALSE |
エンドエンティティ証明書であることを示す | サーバー証明書 |
pathlen:n |
このCAより下に置けるIntermediate CA証明書の最大数を n で示す |
CA証明書 |
keyUsage
Section titled “keyUsage”証明書内の 公開鍵 の基本用途を示す。
keyUsage=critical,keyCertSign,cRLSigncRLSign は、 CRL への署名を許可する。
| 値 | 役割 | 使用先 |
|---|---|---|
digitalSignature |
デジタル署名に使う | サーバー証明書 |
keyEncipherment |
RSA鍵配送で暗号化された鍵を復号する | RSA系のTLSサーバー証明書 |
keyCertSign |
証明書への署名に使う | CA証明書 |
cRLSign |
CRLへの署名に使う | CA証明書 |
extendedKeyUsage
Section titled “extendedKeyUsage”証明書の具体的な目的を示す。
extendedKeyUsage=serverAuth| 値 | 役割 |
|---|---|
serverAuth |
TLSサーバー証明書として使える |
clientAuth |
TLSクライアント証明書として使える |
subjectKeyIdentifier
Section titled “subjectKeyIdentifier”この証明書に含まれる公開鍵を識別するための値。
subjectKeyIdentifier=hash公開鍵の識別や、 証明書チェーン を構築するときの証明書候補の選択に使われる。
authorityKeyIdentifier
Section titled “authorityKeyIdentifier”この証明書に署名したCAの鍵を識別するための値。
authorityKeyIdentifier=keyid,issuer発行元CAの subjectKeyIdentifier と対応させることで、証明書チェーンを構築するときの発行元候補を選びやすくする。
subjectAltName
Section titled “subjectAltName”証明書が有効なDNS名やIPアドレスを示す。
subjectAltName=DNS:www.example.test,IP:172.16.4.1| 要素 | 例 | 役割 |
|---|---|---|
DNS |
DNS:www.example.test |
有効なDNS名を指定する |
IP |
IP:172.16.4.1 |
有効なIPアドレスを指定する |
関連するコマンド
Section titled “関連するコマンド”関連するオプション
Section titled “関連するオプション”- -addext(openssl req)
- -extfile(openssl x509)
- -extensions(openssl req)
- -extensions(openssl x509)
- -extensions(openssl ca)
OpenSSL公式ドキュメント
Section titled “OpenSSL公式ドキュメント”-
x509v3_config X.509 v3拡張の設定形式。
basicConstraints、keyUsage、extendedKeyUsage、subjectAltNameなど。 -
openssl-req CSR作成、自己署名証明書作成、
-addextなど。 -
openssl-x509 証明書の表示、変換、署名、拡張確認など。
-
openssl-ca CAとして証明書へ署名する処理。