2017-10-04 7 views
1

java keytoolを使用して証明書を生成するときに、複数の鍵の使用を証明書に追加しようとしています。それはリストされた最後のものだけを取り上げるだけです。Java keytoolを使用するときに証明書に複数の鍵の使用法を追加する方法

keytool -genkeypair -keystore keystore.jks -validity 3650 -alias test 
     -keysize 2048 -keyalg RSA -storetype JKS 
     -ext KeyUsage=digitalSignature -ext KeyUsage=keyEncipherment 
     -ext KeyUsage=keyCertSign 

ドキュメントには、-ext引数を何度も使用できると記載されています。 私は何が間違っていますか?

答えて

2

-extには複数回指定できますが、同じ種類の拡張子には指定できません。あなたが望むものは

keytool -genkeypair -keystore keystore.jks -validity 3650 -alias test 
    -keysize 2048 -keyalg RSA -storetype JKS 
    -ext KeyUsage=digitalSignature,keyEncipherment,keyCertSign 

異なるタイプの拡張子を別々に定義するために使用されます。たとえば、次のようになります。

keytool -genkeypair -keystore keystore.jks -validity 3650 -alias test 
    -keysize 2048 -keyalg RSA -storetype JKS 
    -ext KeyUsage=digitalSignature,keyEncipherment,keyCertSign 
    -ext ExtendedKeyUsage=serverAuth,clientAuth 
    -ext BasicConstraints=ca:true,PathLen:3 
    -ext SubjectAlternativeName=DNS:foo.bar.com,EMAIL:[email protected] 
    -ext CRLDistributionPoints=URI:http://foo.bar.com/ca.crl 

これは考えられる例ですが、

関連する問題