Volevo creare un certificato in un formato di keystore PKCS12 con il programma keytool.Come creare un certificato in un keystore PKCS12 con keytool?
Il keystore ha l'estensione .pfx
.
Come ottengo questo?
Volevo creare un certificato in un formato di keystore PKCS12 con il programma keytool.Come creare un certificato in un keystore PKCS12 con keytool?
Il keystore ha l'estensione .pfx
.
Come ottengo questo?
Se il keystore è di tipo PKCS12 (.pfx
) è necessario specificare con -storetype PKCS12
:
keytool -genkey -alias {desired alias certificate} -keystore {path to keystore.pfx} -storepass {password} -validity 365 -keyalg RSA -keysize 2048 -storetype pkcs12
risposta addizionale alla chiave della questione.
Con JDK 8 (1.8.0_121-b13) non si ottiene un'eccezione se si rimuove -storetype pkcs12
ma il keytool
crea un archivio di chiavi JKS
invece, e l'estensione .pfx
viene ignorato.
Richiede anche un -keypass mykeypassword
che il keytool
non supporta per PKCS12.
%JAVA_HOME%/bin/keytool -genkeypair -alias mykey -keyalg EC -dname "cn=CN, ou=OU, o=O, c=C" -validity 365 -keystore keystore.pfx -keypass mykeypassword -storepass mystorepassword -v
(translated)
Generating keypair (Type EC, 256 Bit) and self-signed certificate (SHA256withECDSA) with a validity of 365 days
for: CN=CN, OU=OU, O=O, C=C
[keystore.pfx saved]
Lista dei contenuti:
%JAVA_HOME%/bin/keytool -list -keystore keystore.pfx -storepass mystorepassword
(translated)
Keystore-Type: JKS
Keystore-Provider: SUN
Keystore contains 1 entry.
mykey, 25.04.2017, PrivateKeyEntry,
Certificate-Fingerprint (SHA1): A1:6C:5F:8F:43:37:1A:B6:43:69:08:DE:6B:B9:4D:DB:05:C9:D5:84
vedi che è un chiavi Java.
Il prossimo problema è che, anche se si specifica -storetype pkcs12
quando si esegue il keystore -list
, il keytool visualizzerà comunque lo store come un keystore JKS!
Proviamo che:
%JAVA_HOME%/bin/keytool -genkeypair -alias mykey -keyalg EC -dname "cn=CN, ou=OU, o=O, c=C" -validity 365 -storetype pkcs12 -keystore keystore.pkx -keypass mykeypassword -storepass mystorepassword -v
(translated)
Warning: No support for different keystore and key password for PKCS12 keystores. The value of -keypass will be ignored.
Generating keypair (Type EC, 256 Bit) and self signed certificate (SHA256withECDSA) with a validity of 365 Days
für: CN=CN, OU=OU, O=O, C=C
[keystore.pkx saved]
Ora elencare il contenuto:
%JAVA_HOME%/bin/keytool -list -keystore keystore.pkx -storepass mystorepassword
(translated)
Keystore-Type: JKS // ??
Keystore-Provider: SUN
Keystore contains 1 entry
mykey, 25.04.2017, PrivateKeyEntry,
Certificate Fingerprint (SHA1): EA:C2:36:C6:55:69:CB:32:22:C7:14:83:67:47:D2:7E:06:8E:13:14
La chiave della questione è che se il keystore ha estensione .pfx si deve aggiungere l'opzione di PKCS12 -storetype Senza questa opzione keytool genera un errore. –