Emil, On 15 Feb 2018, 8:52 PM +1300, Emil John <ekj...@gmail.com>, wrote: > Context > ----------- > > Exact tomcat version, Operating Systems, other configurations- > > Current Tomcat version - 8.5.15 > Operating Systems - Windows/ Linux > Upgrading to tomcat version - 8.5.23 > Application - Java Application. > > I have an application with tomcat, say fooapp. I also have a custom > keystore type, say DKS (Java by default has the JKS keystore). During start > of my application, it loads the DKS keystore to get the certificate for the > application. This is done using the following changes in server.xml > > <Connector SSLEnabled="true" > sslImplementationName="com.vmware.identity.tomcat.GKSAwareImpl" > store="CERT_STORE" > port="${bio-ssl-localhost.https.port}" > protocol="com.vmware.identity.tomcat. GKSAwareHttp11NioProtocol" > redirectPort="${bio-ssl-localhost.https.port}" > scheme="https" > secure="true" > maxHttpHeaderSize="16384" > <Certificate certificateKeystoreType="GKS" > > > Problem > ----------- > > The new version of tomcat has a changed code that is causing my application > from not able to load the GKS keystore. > > In Tomcat 8.5.15, > getKeyManagers() method - if ks is not null, it simply proceeds further > doing the ks.isKeyEntry() etc.. > > In Tomcat 8.5.23, > getKeyManagers() method - if ks is initialized as before and create a new > reference - > KeyStore ks = certificate.getCertificateKeystore(); > KeyStore ksUsed = ks; > > After the below code, the ksUsed is getting back to JKS and fails to load > my custom keystore type "GKS" > > // Switch to in-memory key store String provider = > certificate.getCertificateKeystoreProvider(); if (provider == null) { > ksUsed = KeyStore.getInstance(certificate.getCertificateKeystoreType()); } > else { ksUsed = > KeyStore.getInstance(certificate.getCertificateKeystoreType(), provider); } > ksUsed.load(null, null); --> throws unimplmented method > > I am setting the provider type properly in java.security which is also used > while loading the application. > > Has anybody faced similar problem?
I had a similar problem – not quite the same but close enough. I ended up creating another key store type that wraps around my existing types. See my threads here http://markmail.org/message/5vus3jpsp5secm44 Cheers, Ing > > Thanks, > Emil