I was able to read the keystore with both openssl and keytool, but for some reason the private key within the pkcs#12 file had a different password than the keystone password. I ended up just rebuilding the cert and the keystore, and it's working now. Thanks ! ________________________________________________
Kevin Huntly Email: kmhun...@gmail.com Cell: 716/424-3311 ________________________________________________ -----BEGIN GEEK CODE BLOCK----- Version: 1.0 GCS/IT d+ s a C++ UL+++$ P+(++) L+++ E--- W+++ N+ o K(+) w--- O- M-- V-- PS+ PE Y(+) PGP++(+++) t+ 5-- X-- R+ tv+ b++ DI++ D++ G++ e(+) h--- r+++ y+++* ------END GEEK CODE BLOCK------ On Sat, Mar 18, 2023 at 3:27 PM Thomas Hoffmann (Speed4Trade GmbH) <thomas.hoffm...@speed4trade.com.invalid> wrote: > Hello, > > the relevant error is: > Caused by: javax.crypto.BadPaddingException: Given final block not > properly padded. Such issues can arise if a bad key is used during > decryption. > > It seems there is something wrong with your keystore. > Are both, private and public key in the p12 file? > Can you check the contents with keytool? > Alternatively, you can also use pem files, they are more readable than p12. > > Greetings, Thomas > > > -----Ursprüngliche Nachricht----- > > Von: Kevin Huntly <kmhun...@gmail.com> > > Gesendet: Samstag, 18. März 2023 19:15 > > An: users@tomcat.apache.org > > Betreff: SSL issue > > > > Hello Everyone, > > > > I'm having an issue with my SSL connector: > > > > <stacktrace> > > 18-Mar-2023 14:12:46.996 SEVERE [main] > > org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to > > initialize component > [Connector[org.apache.coyote.http11.Http11Nio2Protocol- > > 8443]] > > org.apache.catalina.LifecycleException: Protocol handler > initialization > > failed > > at > > org.apache.catalina.connector.Connector.initInternal(Connector.java:1014) > > at > > org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136) > > at > > > org.apache.catalina.core.StandardService.initInternal(StandardService.java:549 > > ) > > at > > org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136) > > at > > > org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:1032) > > at > > org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136) > > at > > org.apache.catalina.startup.Catalina.load(Catalina.java:724) > > at > > org.apache.catalina.startup.Catalina.load(Catalina.java:746) > > at > > > java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMeth > > odHandleAccessor.java:104) > > at > > java.base/java.lang.reflect.Method.invoke(Method.java:578) > > at > > org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:307) > > at > > org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:477) > > Caused by: java.lang.IllegalArgumentException: Get Key failed: > > Given final block not properly padded. Such issues can arise if a bad > key is used > > during decryption. > > at > > org.apache.tomcat.util.net > .AbstractJsseEndpoint.createSSLContext(AbstractJsse > > Endpoint.java:107) > > at > > org.apache.tomcat.util.net > .AbstractJsseEndpoint.initialiseSsl(AbstractJsseEndpoi > > nt.java:71) > > at > > org.apache.tomcat.util.net.Nio2Endpoint.bind(Nio2Endpoint.java:146) > > at > > org.apache.tomcat.util.net > .AbstractEndpoint.bindWithCleanup(AbstractEndpoin > > t.java:1302) > > at > > org.apache.tomcat.util.net > .AbstractEndpoint.init(AbstractEndpoint.java:1315) > > at > > org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:652) > > at > > > org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.j > > ava:75) > > at > > org.apache.catalina.connector.Connector.initInternal(Connector.java:1012) > > ... 11 more > > Caused by: java.security.UnrecoverableKeyException: Get Key > failed: > > Given final block not properly padded. Such issues can arise if a bad > key is used > > during decryption. > > at > > > java.base/sun.security.pkcs12.PKCS12KeyStore.engineGetKey(PKCS12KeyStore.j > > ava:454) > > at > > > java.base/sun.security.util.KeyStoreDelegator.engineGetKey(KeyStoreDelegator > > .java:91) > > at > > java.base/java.security.KeyStore.getKey(KeyStore.java:1077) > > at > > org.apache.tomcat.util.net > .SSLUtilBase.getKeyManagers(SSLUtilBase.java:353) > > at > > org.apache.tomcat.util.net > .SSLUtilBase.createSSLContext(SSLUtilBase.java:246) > > at > > org.apache.tomcat.util.net > .AbstractJsseEndpoint.createSSLContext(AbstractJsse > > Endpoint.java:105) > > ... 18 more > > Caused by: javax.crypto.BadPaddingException: Given final block > not > > properly padded. Such issues can arise if a bad key is used during > decryption. > > at > > java.base/com.sun.crypto.provider.CipherCore.unpad(CipherCore.java:861) > > at > > > java.base/com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.jav > > a:941) > > at > > java.base/com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:734) > > at > > > java.base/com.sun.crypto.provider.PBES2Core.engineDoFinal(PBES2Core.java:3 > > 10) > > at > java.base/javax.crypto.Cipher.doFinal(Cipher.java:2207) > > at > > java.base/sun.security.pkcs12.PKCS12KeyStore.lambda$engineGetKey$0(PKCS1 > > 2KeyStore.java:370) > > at > > > java.base/sun.security.pkcs12.PKCS12KeyStore$RetryWithZero.run(PKCS12KeySt > > ore.java:257) > > at > > > java.base/sun.security.pkcs12.PKCS12KeyStore.engineGetKey(PKCS12KeyStore.j > > ava:361) > > ... 23 more > > </stacktrace> > > > > And my SSL config: > > > > <code> > > <Connector executor="tomcatThreadPool" > > protocol="org.apache.coyote.http11.Http11Nio2Protocol" > > > sslImplementationName="org.apache.tomcat.util.net.jsse.JSSEImplementation" > > address="0.0.0.0" port="8443" maxHttpHeaderSize="8192" > > maxThreads="150" minSpareThreads="25" enableLookups="false" > > acceptCount="100" connectionTimeout="20000" > > disableUploadTimeout="true" compression="on" > > compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" > > SSLEnabled="true" scheme="https"> > > <UpgradeProtocol > > className="org.apache.coyote.http2.Http2Protocol" /> > > <SSLHostConfig hostName="appsrv.lan" protocols="TLSv1.2"> > > <Certificate > > certificateKeystoreFile="/home/appsrv/etc/tomcat.p12" > > certificateKeystoreType="PKCS12" certificateKeystorePassword="password" > /> > > </SSLHostConfig> > > </Connector> > > </code> > > > > So, what am I doing wrong here? > > ________________________________________________ > > > > Kevin Huntly > > Email: kmhun...@gmail.com > > ________________________________________________ > > > > -----BEGIN GEEK CODE BLOCK----- > > Version: 1.0 > > GCS/IT d+ s a C++ UL+++$ P+(++) L+++ E--- > > W+++ N+ o K(+) w--- O- M-- V-- PS+ PE Y(+) > > PGP++(+++) t+ 5-- X-- R+ tv+ b++ DI++ D++ > > G++ e(+) h--- r+++ y+++* > > ------END GEEK CODE BLOCK------ >