deroctettringからkeyusageまで
-
01-10-2019 - |
質問
の 弾む城 KeyUSAGEから始まるDeroctetStringを作成できます。
次に、deroctetStringから始まるキーユーザーを取得するにはどうすればよいですか?
例:
DEROctetString derString = new DEROctetString(new KeyUsage(KeyUsage.digitalSignature));
KeyUsage ku = ...(some code to get back KeyUsage starting from derString)...
KeyUSAGE拡張リクエストで証明書リクエストを作成できるため、これが必要ですが、証明書リクエストだけを考えると、KeyUSAGE拡張機能を取り戻すことができません。
解決
ASN1INPUTSTREAMを使用してソリューションを見つけました。
ASN1InputStream ais = new ASN1InputStream(derOctetString.getOctetStream());
KeyUsage ku = new KeyUsage((DERBitString) ais.readObject());
それはうまくいきます!
他のヒント
keyUSAGEは、これとしてx.509で定義されています。
id-ce-keyUsage OBJECT IDENTIFIER ::= { id-ce 15 }
KeyUsage ::= BIT STRING {
digitalSignature (0),
nonRepudiation (1),
keyEncipherment (2),
dataEncipherment (3),
keyAgreement (4),
keyCertSign (5),
cRLSign (6),
encipherOnly (7),
decipherOnly (8) }
そのため、Octet Stringを作成するのは間違っています。 Derbitstringを作成すると、KeyUSAGEにはコンストラクターがあります。
所属していません StackOverflow