Chciałem utworzyć certyfikat w pliku kluczy PKCS12 z programem keytool.Jak utworzyć certyfikat w magazynie kluczy PKCS12 za pomocą keytool?
Magazyn kluczy ma rozszerzenie .pfx
.
Jak to osiągnąć?
Chciałem utworzyć certyfikat w pliku kluczy PKCS12 z programem keytool.Jak utworzyć certyfikat w magazynie kluczy PKCS12 za pomocą keytool?
Magazyn kluczy ma rozszerzenie .pfx
.
Jak to osiągnąć?
Jeśli kluczy jest typ PKCS12 (.pfx
) trzeba określić go -storetype PKCS12
:
keytool -genkey -alias {desired alias certificate} -keystore {path to keystore.pfx} -storepass {password} -validity 365 -keyalg RSA -keysize 2048 -storetype pkcs12
Dodatkowa odpowiedź do tonacji pytanie.
Z JDK 8 (1.8.0_121-B13) nie dostaniesz wyjątek jeśli usuniesz -storetype pkcs12
ale keytool
tworzy JKS
zamiast kluczy, a rozszerzenie .pfx
jest ignorowany.
Pyta również o -keypass mykeypassword
, którego keytool
nie obsługuje dla 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 zawartość:
%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
Widzisz to kluczy Java.
Kolejnym problemem jest to, że nawet jeśli poda się plik -storetype pkcs12
, keytool nadal będzie wyświetlać magazyn jako magazyn kluczy JKS!
Spróbujmy że:
%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]
Teraz listy zawartości:
%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
Klucz pytaniem jest to, że jeśli kluczy posiada rozszerzenie .pfx trzeba dodać pkcs12 opcja -storetype Bez ta opcja keytool zgłasza błąd. –