如何创建有弹性的密钥用法(由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签名”。

10-06 10:56