ошибка keytool: java.security.cert.CertificateParsingException: подписанные поля недействительны

ошибка keytool: java.security.cert.CertificateParsingException: подписанные поля недействительны

У меня есть файл сертификата X509 pem, который я получил из Mongo Atlas. Я пытаюсь импортировать его в хранилище ключей следующим образом:

keytool -importcert -file X509-cert.pem -alias myalias -keystore mykeystore.p12 -storetype PKCS12

Но я получаю эту ошибку:

keytool error: java.security.cert.CertificateParsingException: signed fields invalid

Мой pem-файл содержит сертификат и закрытый ключ:

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----

Поэтому я разделил их на cert.pem и key.pem, а затем попытался добавить их:

$ keytool -importcert -file cert.pem -alias myalias -keystore mykeystore.p12 -storetype PKCS12
Enter keystore password:  
keytool error: java.lang.Exception: Public keys in reply and keystore don't match
$ keytool -importcert -file key.pem -alias myalias -keystore mykeystore.p12 -storetype PKCS12
Enter keystore password:  
keytool error: java.security.cert.CertificateParsingException: signed fields invalid

Я получаю другую ошибку для сертификата, но ту же ошибку для ключа. В любом случае, я застрял на этих ошибках.

Как импортировать сертификат X509 в хранилище ключей? (Я делаю все это в модуле Kubernetes)

решение1

Проблема была в том, что имя псевдонима совпадало с псевдонимом моего хранилища ключей, что приводило к конфликту. Поэтому исправление выглядит так:

keytool -importcert -file X509-cert.pem -alias someOtherAlias -keystore mykeystore.p12 -storetype PKCS12

Связанный контент