Преобразование keytool из PFX в JKS: псевдоним <*> не существует
Я пытаюсь преобразовать файл x.PFX в файл x.JKS, используя keytool, но получаю следующую ошибку:
keytool error: java.lang.Exception: Alias <2> does not exist
Действия, которые предшествовали этой ошибке:
Перечисление содержимого файла x.PFX (просто чтобы прочитать псевдоним):
keytool -v -list -storetype pkcs12 -keystore x.pfx
Enter keystore password: x
Keystore type: PKCS12
Keystore provider: SunJSSE
Your keystore contains 1 entry
Alias name: 2
Creation date: 11-nov-2012
Entry type: PrivateKeyEntry
Certificate chain length: 3
Certificate[1]:
Owner: CN=x, OU=x, C=x
Issuer: CN=x, O=x, C=x
Serial number: x
Valid from: Wed Oct 24 11:46:10 CEST 2012 until: Fri Dec 13 09:28:40 CET 2013
Certificate fingerprints:
etc.
Преобразование файла x.PFX в файл x.JKS с использованием "2" в качестве имени псевдонима источника
keytool -importkeystore -srckeystore x.pfx -srcstoretype pkcs12 -srcalias 2 -destkeystore x.jks -deststoretype jks -destalias xyz
Enter destination keystore password: y
Re-enter new password: y
Enter source keystore password: x
keytool error: java.lang.Exception: Alias <2> does not exist
Я не уверен, что я делаю не так? Файл PFX содержит только одну запись с одним псевдонимом (2). Я также попытался использовать эти значения srcalias: 2, "2", " 2". Есть ли другой способ конвертировать PFX в JKS, используя keytool, не зная псевдоним источника?
5 ответов
У меня была точно такая же проблема. Я решил использовать "1" вместо 2. Не знаю почему, но это сработало.
Если установить псевдоним в pkcs12:
openssl pkcs12 -export -in certificate.pem -inkey private_key.pem -out keystore.p12 -name "myalias"
псевдоним успешно установлен:
keytool -importkeystore -srckeystore keystore.p12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype JKS -alias myalias
Ваша команда должна выглядеть примерно так
keytool -importkeystore -srckeystore x.pfx -srcstoretype pkcs12 -***alias*** 2 -destkeystore x.jks -deststoretype jks -destalias xyz
Возможно, "2" не может быть найден, потому что есть пробелы (например, "2 ")
Если вы не хотите изменять псевдоним, просто удалите параметры -srcalias и -destalias, и он будет импортирован с исходным псевдонимом.
Вы можете использовать keytool для вывода списка псевдонимов в вашем*.pfx
файл, просто используйте следующую команду:
keytool -list -keystore yourPrivateCertificate.pfx
Это даст вам что-то вроде этого:
Enter keystore password:
Keystore type: jks
Keystore provider: SUN
Your keystore contains 1 entry
253db30c3ad14553aebb0e5a0a5255d0_e5345748-fe48-42ac-81e7-b48cfb4610dd, Nov 25, 2019, PrivateKeyEntry,
Certificate fingerprint (SHA1):
A9:3B:80:3C:D9:63:0E:FF:91:72:AC:11:4B:45:99:14:9E:AD:EC:FB
Итак, в приведенном выше случае псевдонимом является следующее:
253db30c3ad14553aebb0e5a0a5255d0_e5345748-fe48-42ac-81e7-b48cfb4610dd
Это значение необходимо использовать для псевдонима источника.