2017-10-04 6 views
1

J'essaie d'ajouter plusieurs utilisations de clé à un certificat lorsque j'utilise java keytool pour générer le certificat. Il ramasse seulement le dernier listé.Comment ajouter plusieurs utilisations de clé à un certificat lors de l'utilisation de l'outil de clé Java

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

La documentation indique que vous pouvez utiliser l'argument -ext plusieurs fois. Qu'est-ce que je fais de mal?

Répondre

2

Le -ext peut être donné plusieurs fois, mais pas pour le même type d'extension. Ce que vous voulez est

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

Plusieurs -ext sont utilisés pour définir des extensions de type différent séparément. Par exemple comme ceci:

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 

Ceci est un exemple artificiel, mais vous avez l'idée.