如何创建有弹性的密钥用法(由Bouncy Castle进行的离线CRL签名)?
我知道如何使用常量创建预定义的keyCertSign或其他...
import org.bouncycastle.asn1.x509.KeyUsage;
KeyUsage keyUsage = new KeyUsage(KeyUsage.keyCertSign | KeyUsage.cRLSign);
最佳答案
KeyUsage.cRLSign应该涵盖CRL签名和脱机CRL签名。根据X.509规范RFC 5280,只有9种基本的密钥用法。
KeyUsage ::= BIT STRING {
digitalSignature (0),
nonRepudiation (1), -- recent editions of X.509 have
-- renamed this bit to contentCommitment
keyEncipherment (2),
dataEncipherment (3),
keyAgreement (4),
keyCertSign (5),
cRLSign (6),
encipherOnly (7),
decipherOnly (8) }
如果将cRLSign位置1,并且在IE中打开证书,则将看到“脱机CRL签名,CRL签名”。其他证书查看者可能只是说“ CRL签名”。