Search code examples
javasecuritysslx509certificate

Error Importing SSL certificate : Not an X.509 Certificate


I am trying to Update the SSL certificate in accordance with this post .

I am noob in certificates, so i followed this guide. But, when i enter

keytool -keystore mycacerts -storepass changeit -importcert -file "C:\Users\Noks\Desktop\cacerts.pem" -v

I get the error:

keytool error: java.lang.Exception: Input not an X.509 certificate
java.lang.Exception: Input not an X.509 certificate
        at sun.security.tools.KeyTool.addTrustedCert(KeyTool.java:1913)
        at sun.security.tools.KeyTool.doCommands(KeyTool.java:818)
        at sun.security.tools.KeyTool.run(KeyTool.java:172)
        at sun.security.tools.KeyTool.main(KeyTool.java:166)

How do i fix this?


Solution

  • Does your cacerts.pem file hold a single certificate? Since it is a PEM, have a look at it (with a text editor), it should start with

    -----BEGIN CERTIFICATE-----

    and end with

    -----END CERTIFICATE-----

    Finally, to check it is not corrupted, get hold of openssl and print its details using

    openssl x509 -in cacerts.pem -text

    Edit

    As mentioned by @stefan-seidel below, try having openssl "regenerate" it using

    openssl x509 -in broken.pem -out correct.pem