
Eu tenho um arquivo pem de certificado X509 que recebi do Mongo Atlas. Estou tentando importá-lo para o keystore assim:
keytool -importcert -file X509-cert.pem -alias myalias -keystore mykeystore.p12 -storetype PKCS12
Mas eu recebo este erro:
keytool error: java.security.cert.CertificateParsingException: signed fields invalid
Meu arquivo pem contém um certificado e uma chave privada:
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
Então eu os separei em cert.pem e key.pem e tentei adicioná-los:
$ 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
Recebo um erro diferente para o certificado, mas o mesmo erro para a chave. De qualquer forma, estou preso a esses erros.
Como posso importar meu certificado X509 para meu keystore? (Estou fazendo tudo isso em um pod do Kubernetes)
Responder1
O problema era que o nome do alias era igual ao alias do meu keystore, causando um conflito. Então, fazer isso corrigido é:
keytool -importcert -file X509-cert.pem -alias someOtherAlias -keystore mykeystore.p12 -storetype PKCS12