用戶憑證(Subscriber Certificate)之憑證金鑰用途(Key Usage)
Subscriber Certificate Key Usage
The acceptable Key Usage values vary based on whether the Certificate’s
subjectPublicKeyInfoidentifies an RSA public key or an ECC public key. CAs MUST ensure the Key Usage is appropriate for the Certificate Public Key.
可接受之憑證金鑰用途欄位值,視憑證之 subjectPublicKeyInfo 識別欄位為 RSA 公開金鑰或 ECC 公開金鑰而定。CA 應(MUST)確保憑證金鑰用途之設定符合憑證公開金鑰之用途。
Key Usage for RSA Public Keys Key Usage Permitted Required digitalSignatureY SHOULD nonRepudiationN — keyEnciphermentY MAY dataEnciphermentY NOT RECOMMENDED keyAgreementN — keyCertSignN — cRLSignN — encipherOnlyN — decipherOnlyN —
| 憑證金鑰用途(Key Usage) | 可否設定 | 設定必要性 |
|---|---|---|
digitalSignature | Y | 宜(SHOULD) |
nonRepudiation | N | — |
keyEncipherment | Y | 得(MAY) |
dataEncipherment | Y | 不建議(NOT RECOMMENDED) |
keyAgreement | N | — |
keyCertSign | N | — |
cRLSign | N | — |
encipherOnly | N | — |
decipherOnly | N | — |
Note: At least one Key Usage MUST be set for RSA Public Keys. The
digitalSignaturebit is REQUIRED for use with modern protocols, such as TLS 1.3, and secure ciphersuites, while thekeyEnciphermentbit MAY be asserted to support older protocols, such as TLS 1.2, when using insecure ciphersuites. Subscribers MAY wish to ensure key separation to limit the risk from such legacy protocols, and thus a CA MAY issue a Subscriber certificate that only asserts thekeyEnciphermentbit. For most Subscribers, thedigitalSignaturebit is sufficient, while Subscribers that want to mix insecure and secure ciphersuites with the same algorithm may choose to assert bothdigitalSignatureandkeyEnciphermentwithin the same certificate, although this is NOT RECOMMENDED. ThedataEnciphermentbit is currently permitted, although setting it is NOT RECOMMENDED, as it is a Pending Prohibition (https://github.com/cabforum/servercert/issues/384).
注意:RSA 公開金鑰應(MUST)設定至少一種憑證金鑰用途。使用現代通訊協定(如 TLS 1.3)及安全加密套件時,設定 digitalSignature 旗標位元為必要(REQUIRED)項目;使用不安全加密套件時,為了支援較舊通訊協定(如 TLS 1.2),得(MAY)設定 keyEncipherment 旗標位元。用戶得(MAY)考量採用金鑰隔離,以降低此類舊有協定所帶來的風險,因此 CA 得(MAY)簽發僅設定 keyEncipherment 旗標位元之用戶憑證。對多數用戶而言,設定 digitalSignature 旗標位元已足夠;若用戶希望以相同演算法同時使用不安全與安全的加密套件,可選擇在同一憑證中同時設定 digitalSignature 與 keyEncipherment 旗標位元,但不建議(NOT RECOMMENDED)採用此方式。dataEncipherment 旗標位元目前仍允許設定,但不建議(NOT RECOMMENDED)設定該旗標位元,因其屬於預告禁用(Pending Prohibition)項目(https://github.com/cabforum/servercert/issues/384)。
Key Usage for ECC Public Keys Key Usage Permitted Required digitalSignatureY MUST nonRepudiationN — keyEnciphermentN — dataEnciphermentN — keyAgreementY NOT RECOMMENDED keyCertSignN — cRLSignN — encipherOnlyN — decipherOnlyN —
| 憑證金鑰用途(Key Usage) | 可否設定 | 設定必要性 |
|---|---|---|
digitalSignature | Y | 應(MUST) |
nonRepudiation | N | — |
keyEncipherment | N | — |
dataEncipherment | N | — |
keyAgreement | Y | 不建議(NOT RECOMMENDED) |
keyCertSign | N | — |
cRLSign | N | — |
encipherOnly | N | — |
decipherOnly | N | — |
Note: The
keyAgreementbit is currently permitted, although setting it is NOT RECOMMENDED, as it is a Pending Prohibition (https://github.com/cabforum/servercert/issues/384).
注意:keyAgreement 旗標位元目前仍允許設定,但不建議(NOT RECOMMENDED)設定該旗標位元,因其屬於預告禁用(Pending Prohibition)項目(https://github.com/cabforum/servercert/issues/384)。