証明書テンプレート
証明書テンプレートの便利な属性
以下の表では、証明書テンプレートで定義されている便利な属性の概要を示しています。
表 1. 証明書テンプレートの便利な属性
属性 | 説明 |
|---|---|
鍵タイプと署名アルゴリズム | RSA や ECC など、許可される鍵タイプや署名アルゴリズムを署名します。 |
サブジェクト識別名(DN)フィールド | コモンネーム(CN)、組織上のユニット部(OU)、国名(C)など、サブジェクト DN の必須フィールドを定義します。 |
有効期限の範囲 | 証明書の最短有効期限と最長有効期限を設定します。 |
証明書エクステンション | 鍵用途または拡張鍵用途(EKU)など、必須またはオプションのエクステンションを定義します。 |
証明書テンプレートと証明書プロファイル
証明書テンプレートは、証明書のコア構造と制約を定義するのに対し、証明書プロファイルは、特定のデプロイメントまたはデバイスグループの要件に基づいて、これらの設定をさらにカスタマイズします。テンプレートは基本的なパラメータを設定し、プロファイルは、サブジェクト DN 値やエクステンションなど、個々の証明書リクエストにこれらの設定を適合させます。
JSON 証明書テンプレートの例
次の例では、証明書テンプレートの JSON 構造を示しています。
{
"key_gen": {
"enabled": true,
"key_type": {
"allowed_types": [
"ecdsa"
],
"default_key_type": "ecdsa"
},
"ecdsa_curve": {
"allowed_curves": [
"P-256",
"P-384",
"P-521"
],
"default_curve": "P-256"
}
},
"issue_types": [
"client_authentication"
],
"signature_algorithm": {
"allowed_algorithms": [
"sha256WithECDSA",
"sha384WithECDSA",
"sha512WithECDSA",
"match_issuer"
],
"default_algorithm": "match_issuer"
},
"subject": {
"attributes": [
{
"type": "common_name",
"include": "optional",
"encoding": "auto",
"allowed_source": [
"csr",
"fixed_value",
"user_supplied"
]
}
]
},
"extensions": {
"key_usage": {
"critical": true,
"required_usages": {
"rsa": [
"digital_signature",
"key_encipherment"
],
"ecdsa": [
"digital_signature"
]
},
"optional_usages": {
"rsa": [
"data_encipherment"
],
"ecdsa": [
"key_agreement"
]
}
},
"extended_key_usage": {
"critical": true,
"include": "optional",
"required_usages": [
{
"oid": "client_authentication",
"name": "Client Authentication"
}
]
}
},
"serial_number_size": 20,
"validity": {
"min_duration": {
"value": 1,
"unit": "DAYS"
},
"max_duration": {
"value": 10,
"unit": "YEARS"
},
"default_duration": {
"value": 10,
"unit": "YEARS"
}
}
}