Arpad,

have you tried sth like this:

StringBuffer sb = new StringBuffer("jdbc:postgresql://infra.kodekonveyor.com:5432/users?useSSL=true&useUnicode=true&characterEncoding=UTF-8&");
        sb.append("user=market&password=<pw>&");
sb.append("clientCertificateKeyStoreUrl=file:////var/lib/tomcat9/.postgresql/client.jks&");
        sb.append("clientCertificateKeyStorePassword=changeit");

        Connection c = DriverManager.getConnection(sb.toString());

and convert the pem certificate to JKS/P12 ? I have this working in mysql...

Peter

Am 2019-10-22 12:56, schrieb Magosányi Árpád:
Hi!

Anyone have a postgresql jndi datasource with certificate authentication
working?

I have the following in context.xml:

        <Resource name="jdbc/users" auth="Container"
          type="javax.sql.DataSource"
driverClassName="org.postgresql.Driver"
         
url="jdbc:postgresql://infra.kodekonveyor.com:5432/users?ssl=true&amp;sslmode=verify-ca"
          username="market" maxTotal="20" maxIdle="10"
          maxWaitMillis="-1"/>

I have this in ~tomcat/.postgresql:

root@market:/var/lib/tomcat9/.postgresql# ls -lL
total 11
-rw-r--r-- 1 root   root 4597 Oct 21 12:49 postgresql.crt
-r-------- 1 tomcat root 1329 Oct 21 17:40 postgresql.pk8
-rw-r--r-- 1 root   root 1493 Oct 21 12:49 root.crt

where the crt file is a pem client certificate, root.crt is the ca cert,
and pk8 is the client key in der pkcs-8 format.

The logs:

     NOTE: Picked up JDK_JAVA_OPTIONS: 
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
     Server version name:   Apache Tomcat/9.0.16 (Ubuntu)
     Server built:          Sep 11 2019 19:47:51 UTC
     Server version number: 9.0.16.0
     OS Name:               Linux
     OS Version:            4.15.0-65-generic
     Architecture:          amd64
     Java Home:             /usr/lib/jvm/java-11-openjdk-amd64
     JVM Version:           11.0.4+11-post-Ubuntu-1ubuntu218.04.3
     JVM Vendor:            Ubuntu
     CATALINA_BASE:         /var/lib/tomcat9
     CATALINA_HOME:         /usr/share/tomcat9
     Command line argument: --add-opens=java.base/java.lang=ALL-UNNAMED
     Command line argument: --add-opens=java.base/java.io=ALL-UNNAMED
     Command line argument:
--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
     Command line argument:
-Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties
     Command line argument:
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
     Command line argument: -Djava.awt.headless=true
     Command line argument: -XX:+UseG1GC
     Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
     Command line argument:
-Djava.protocol.handler.pkgs=org.apache.catalina.webresources
     Command line argument:
-Dorg.apache.catalina.security.SecurityListener.UMASK=0027
     Command line argument: -Dignore.endorsed.dirs=
     Command line argument: -Dcatalina.base=/var/lib/tomcat9
     Command line argument: -Dcatalina.home=/usr/share/tomcat9
     Command line argument: -Djava.io.tmpdir=/tmp
     Loaded APR based Apache Tomcat Native library [1.2.21] using APR
version [1.6.3].
     APR capabilities: IPv6 [true], sendfile [true], accept filters
[false], random [true].
     APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
     OpenSSL successfully initialized [OpenSSL 1.1.1  11 Sep 2018]
     Initializing ProtocolHandler ["ajp-nio-8009"]
     Server initialization in [1,859] milliseconds
     Starting service [Catalina]
     Starting Servlet engine: [Apache Tomcat/9.0.16 (Ubuntu)]
     Deploying web application archive [/var/lib/tomcat9/webapps/market.war]
     SLF4J: Class path contains multiple SLF4J bindings.
     SLF4J: Found binding in
[jar:file:/var/lib/tomcat9/webapps/market/WEB-INF/lib/slf4j-simple-1.7.24.jar!/org/slf4j/impl/StaticLoggerBinder.class]
     SLF4J: Found binding in
[jar:file:/var/lib/tomcat9/webapps/market/WEB-INF/lib/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
     SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
explanation.
     SLF4J: Actual binding is of type [org.slf4j.impl.SimpleLoggerFactory]
     3 Spring WebApplicationInitializers detected on classpath
     onStartup
     getContext
     getRootConfigClasses
     [main] INFO com.kodekonveyor.market.WebInitializer -
getRootConfigClasses
     getServletConfigClasses
     [main] INFO com.kodekonveyor.market.WebInitializer -
getServletConfigClasses
     getServletMappings
     [main] INFO com.kodekonveyor.market.WebInitializer - getServletMappings      At least one JAR was scanned for TLDs yet contained no TLDs. Enable
debug logging for this logger for a complete list of JARs that were
scanned but no TLDs were found in them. Skipping unneeded JARs during
scanning can improve startup time and JSP compilation time.
     Initializing Spring root WebApplicationContext
     [main] INFO org.springframework.web.context.ContextLoader - Root
WebApplicationContext: initialization started
     [main] INFO
org.springframework.data.repository.config.RepositoryConfigurationDelegate
- Bootstrapping Spring Data repositories in DEFAULT mode.
     [main] INFO
org.springframework.data.repository.config.RepositoryConfigurationDelegate
- Finished Spring Data repository scanning in 198ms. Found 1 repository
interfaces.
     [main] INFO
org.springframework.data.repository.config.RepositoryConfigurationDelegate
- Bootstrapping Spring Data repositories in DEFAULT mode.
     [main] INFO
org.springframework.data.repository.config.RepositoryConfigurationDelegate
- Finished Spring Data repository scanning in 35ms. Found 1 repository
interfaces.
     [main] INFO
org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker
- Bean
'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration'
of type
[org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration]
is not eligible for getting processed by all BeanPostProcessors (for
example: not eligible for auto-proxying)
     [main] INFO org.hibernate.jpa.internal.util.LogHelper - HHH000204:
Processing PersistenceUnitInfo [name: default]
     [main] INFO org.hibernate.Version - HHH000412: Hibernate Core
{5.4.6.Final}
     [main] INFO org.hibernate.annotations.common.Version - HCANN000001:
Hibernate Commons Annotations {5.1.0.Final}
     [main] WARN
org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator -
HHH000342: Could not obtain connection to query metadata : Cannot create
PoolableConnectionFactory (Could not find a java cryptographic
algorithm: Cannot find any provider supporting 1.2.840.113549.1.5.13.)
     [main] INFO org.hibernate.dialect.Dialect - HHH000400: Using
dialect: org.hibernate.dialect.PostgreSQLDialect
     [main] INFO
org.hibernate.engine.transaction.jta.platform.internal.JtaPlatformInitiator
- HHH000490: Using JtaPlatform implementation:
[org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
     [main] INFO
org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean -
Initialized JPA EntityManagerFactory for persistence unit 'default'
     [main] WARN
org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration$JpaWebConfiguration
- spring.jpa.open-in-view is enabled by default. Therefore, database
queries may be performed during view rendering. Explicitly configure
spring.jpa.open-in-view to disable this warning
     addResourceHandlers
     [main] INFO com.kodekonveyor.market.SpringConfig - addResourceHandlers
     viewResolver
     [main] INFO com.kodekonveyor.market.SpringConfig - viewResolver
     [main] INFO org.springframework.web.context.ContextLoader - Root
WebApplicationContext initialized in 12786 ms
     Initializing Spring DispatcherServlet 'DispatcherServlet'
     [main] INFO org.springframework.web.servlet.DispatcherServlet -
Initializing Servlet 'DispatcherServlet'
     [main] INFO org.springframework.web.servlet.DispatcherServlet -
Completed initialization in 17 ms
     Initializing Spring DispatcherServlet 'dispatcher'
     [main] INFO org.springframework.web.servlet.DispatcherServlet -
Initializing Servlet 'dispatcher'
     [main] INFO
org.springframework.data.repository.config.RepositoryConfigurationDelegate
- Bootstrapping Spring Data repositories in DEFAULT mode.
     [main] INFO
org.springframework.data.repository.config.RepositoryConfigurationDelegate
- Finished Spring Data repository scanning in 13ms. Found 1 repository
interfaces.
     [main] INFO org.hibernate.jpa.internal.util.LogHelper - HHH000204:
Processing PersistenceUnitInfo [name: default]
     [main] WARN
org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator -
HHH000342: Could not obtain connection to query metadata : Cannot create
PoolableConnectionFactory (Could not find a java cryptographic
algorithm: Cannot find any provider supporting 1.2.840.113549.1.5.13.)
     [main] INFO org.hibernate.dialect.Dialect - HHH000400: Using
dialect: org.hibernate.dialect.PostgreSQLDialect
     [main] INFO
org.hibernate.engine.transaction.jta.platform.internal.JtaPlatformInitiator
- HHH000490: Using JtaPlatform implementation:
[org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
     [main] INFO
org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean -
Initialized JPA EntityManagerFactory for persistence unit 'default'
     addResourceHandlers
     [main] INFO com.kodekonveyor.market.SpringConfig - addResourceHandlers
     viewResolver
     [main] INFO com.kodekonveyor.market.SpringConfig - viewResolver
     [main] INFO org.springframework.web.servlet.DispatcherServlet -
Completed initialization in 1378 ms
     Deployment of web application archive
[/var/lib/tomcat9/webapps/market.war] has finished in [25,639] ms
     Deploying web application directory [/var/lib/tomcat9/webapps/ROOT]      At least one JAR was scanned for TLDs yet contained no TLDs. Enable
debug logging for this logger for a complete list of JARs that were
scanned but no TLDs were found in them. Skipping unneeded JARs during
scanning can improve startup time and JSP compilation time.
     Deployment of web application directory
[/var/lib/tomcat9/webapps/ROOT] has finished in [1,491] ms
     Starting ProtocolHandler ["ajp-nio-8009"]
     Server startup in [27,448] milliseconds
     [ajp-nio-8009-exec-1] INFO
com.kodekonveyor.market.servlets.LoginServlet -
service:com.kodekonveyor.market.login.LoginService@3e6bbac6
     [ajp-nio-8009-exec-1] INFO
com.kodekonveyor.market.login.LoginService - LoginService.call
     [ajp-nio-8009-exec-1] INFO
com.kodekonveyor.market.login.LoginService - githubSecret:s4cred S3cr3t
     Hibernate: select user0_.id as id1_0_, user0_.auth0id as auth2_0_,
user0_.email as email3_0_, user0_.name as name4_0_ from User user0_
where user0_.auth0id=?
     [ajp-nio-8009-exec-1] WARN
org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL Error: 0,
SQLState: null
     [ajp-nio-8009-exec-1] ERROR
org.hibernate.engine.jdbc.spi.SqlExceptionHelper - Cannot create
PoolableConnectionFactory (Could not find a java cryptographic
algorithm: Cannot find any provider supporting 1.2.840.113549.1.5.13.)
     Servlet.service() for servlet
[com.kodekonveyor.market.servlets.LoginServlet] in context with path
[/market] threw exception
     org.springframework.orm.jpa.JpaSystemException: Unable to acquire
JDBC Connection; nested exception is
org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC
Connection
         at
org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:352)
         at
org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:254)
         at
org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:528)
         at
org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
         at
org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242)
         at
org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:153)
         at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
         at
org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:149)
         at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
         at
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93)
         at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
         at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
         at com.sun.proxy.$Proxy75.findByAuth0id(Unknown Source)
         at
com.kodekonveyor.market.login.LoginService.call(LoginService.java:41)
         at
com.kodekonveyor.market.servlets.LoginServlet.doGet(LoginServlet.java:29)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)          at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
         at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
         at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
         at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
         at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
         at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
         at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
         at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
         at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
         at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
         at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
         at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
         at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
         at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
         at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
         at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
         at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
         at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
         at
org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:394)
         at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
         at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
         at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
         at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
         at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
         at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
         at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
         at java.base/java.lang.Thread.run(Thread.java:834)
     Caused by: org.hibernate.exception.GenericJDBCException: Unable to
acquire JDBC Connection
         at
org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:47)
         at
org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113)
         at
org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99)
         at
org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.acquireConnectionIfNeeded(LogicalConnectionManagedImpl.java:107)
         at
org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getPhysicalConnection(LogicalConnectionManagedImpl.java:134)
         at
org.hibernate.engine.jdbc.internal.StatementPreparerImpl.connection(StatementPreparerImpl.java:50)
         at
org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:149)
         at
org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:176)
         at
org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:151)
         at
org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:2099)
         at
org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2029)
         at
org.hibernate.loader.Loader.executeQueryStatement(Loader.java:2007)
         at org.hibernate.loader.Loader.doQuery(Loader.java:953)
         at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354)
         at org.hibernate.loader.Loader.doList(Loader.java:2810)
         at org.hibernate.loader.Loader.doList(Loader.java:2792)
         at
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2624)
         at org.hibernate.loader.Loader.list(Loader.java:2619)
         at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:506)
         at
org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:396)
         at
org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:219)
         at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1410)
         at
org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1558)
         at
org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1526)
         at org.hibernate.query.Query.getResultList(Query.java:165)
         at
org.hibernate.query.criteria.internal.compile.CriteriaQueryTypeQueryAdapter.getResultList(CriteriaQueryTypeQueryAdapter.java:76)
         at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
         at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
         at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.base/java.lang.reflect.Method.invoke(Method.java:566)
         at
org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:409)
         at com.sun.proxy.$Proxy87.getResultList(Unknown Source)
         at
org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:126)
         at
org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:88)
         at
org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:154)
         at
org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:142)
         at
org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:618)
         at
org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:605)
         at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
         at
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:353)
         at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:99)
         at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
         at
org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139)
         ... 38 more
     Caused by: java.sql.SQLException: Cannot create
PoolableConnectionFactory (Could not find a java cryptographic
algorithm: Cannot find any provider supporting 1.2.840.113549.1.5.13.)
         at
org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:735)
         at
org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:605)
         at
org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:794)
         at
org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122)
         at
org.hibernate.internal.NonContextualJdbcConnectionAccess.obtainConnection(NonContextualJdbcConnectionAccess.java:38)
         at
org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.acquireConnectionIfNeeded(LogicalConnectionManagedImpl.java:104)
         ... 77 more
     Caused by: org.postgresql.util.PSQLException: Could not find a java
cryptographic algorithm: Cannot find any provider supporting
1.2.840.113549.1.5.13.
         at
org.postgresql.ssl.LazyKeyManager.getPrivateKey(LazyKeyManager.java:253)
         at
java.base/sun.security.ssl.AbstractKeyManagerWrapper.getPrivateKey(SSLContextImpl.java:1764)
         at
java.base/sun.security.ssl.X509Authentication$X509PossessionGenerator.createClientPossession(X509Authentication.java:197)
         at
java.base/sun.security.ssl.X509Authentication$X509PossessionGenerator.createPossession(X509Authentication.java:154)
         at
java.base/sun.security.ssl.X509Authentication.createPossession(X509Authentication.java:87)
         at
java.base/sun.security.ssl.CertificateMessage$T13CertificateProducer.choosePossession(CertificateMessage.java:1052)
         at
java.base/sun.security.ssl.CertificateMessage$T13CertificateProducer.onProduceCertificate(CertificateMessage.java:1073)
         at
java.base/sun.security.ssl.CertificateMessage$T13CertificateProducer.produce(CertificateMessage.java:930)
         at
java.base/sun.security.ssl.SSLHandshake.produce(SSLHandshake.java:436)
         at
java.base/sun.security.ssl.Finished$T13FinishedConsumer.onConsumeFinished(Finished.java:981)
         at
java.base/sun.security.ssl.Finished$T13FinishedConsumer.consume(Finished.java:856)
         at
java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)
         at
java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:443)
         at
java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:421)
         at
java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:177)
         at
java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164)
         at
java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1152)
         at
java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1063)
         at
java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:402)
         at org.postgresql.ssl.MakeSSL.convert(MakeSSL.java:40)
         at
org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:441)
         at
org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:94)
         at
org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:192)
         at
org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
         at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195)
         at org.postgresql.Driver.makeConnection(Driver.java:458)
         at org.postgresql.Driver.connect(Driver.java:260)
         at
org.apache.tomcat.dbcp.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:53)
         at
org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:355)
         at
org.apache.tomcat.dbcp.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:116)
         at
org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:731)
         ... 82 more
     Caused by: java.security.NoSuchAlgorithmException: Cannot find any
provider supporting 1.2.840.113549.1.5.13
         at java.base/javax.crypto.Cipher.getInstance(Cipher.java:565)
         at
org.postgresql.ssl.LazyKeyManager.getPrivateKey(LazyKeyManager.java:205)
         ... 112 more


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to