Skip to content

Accept keystore password also for truststore. #2248

@aioobe

Description

@aioobe

What happened?

keytool (and the JDK in general) is moving away from the proprietary JKS format and over to the wider used standardized PKCS12 format (JEP 229). The default format for keytool for example, is as of JDK 9, PKCS12 instead of JKS.

One difference between these two formats is that PKCS12 requires password protection also for public certificates. (At least to the extent of my knowledge. I've managed to create a PKCS12 keystore programatically with an empty password, but not without a password.)

In a JKS keystore you may have noticed that keytool -list can show public certificates, even if you just hit enter at the password prompt. As for PKCS12 keystores this is not the case.

In our SslSocketFactories class we've hardcoded the choice to use no password at all when loading the truststore:

keyStore = KeyStores.loadKeyStore(trustStoreType.name(), trustStorePath, Optional.empty());

What did you want to happen?

I would suggest we extend the SslConfiguration class which now accepts...

  • trustStorePath
  • keyStorePath
  • keyStorePassword

...to also include

  • trustStorePassword

and make use of this value when loading truststore certificates in the line linked above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions