Error de herramienta clave: java.security.cert.CertificateParsingException: campos firmados no válidos

Error de herramienta clave: java.security.cert.CertificateParsingException: campos firmados no válidos

Tengo un archivo pem de certificado X509 que obtuve de Mongo Atlas. Estoy intentando importarlo al almacén de claves así:

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

Pero me sale este error:

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

Mi archivo pem contiene un certificado y una clave privada:

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

Así que los separé en cert.pem y key.pem y luego intenté agregarlos:

$ 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

Recibo un error diferente para el certificado, pero el mismo error para la clave. De cualquier manera, estoy atrapado en estos errores.

¿Cómo puedo importar mi certificado X509 a mi almacén de claves? (Estoy haciendo todo esto en un pod de Kubernetes)

Respuesta1

El problema era que el nombre del alias era el mismo que el alias de mi almacén de claves, lo que provocaba un conflicto. Entonces hacer esto arreglado es:

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

información relacionada