Exception: CmisConnectionException Cannot access https:\XXXX/CMISWS-Service.wsdl": in CMIS apache chemistry workbench - cmis-workbench

Java.security.cert.CertificateException: No name matching , found Cause: SSLHandshakeException java.security.cert.CertificateException:
I am getting above mentioned error in CMIS apache chemistry workbench when trying to Login even after adding self signed certificate to the jre/lib folder

Related

Connecting to Heroku Postgres Database from Outside of Heroku App with JDBC

I'm trying to connect to a free tier Heroku database from the Wolfram Language. The DatabaseLink package uses JDBC to make the connection. When I specify that SSL should be used for the connection, I get:
JDBC: SSL error: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
The support article at:
https://reference.wolfram.com/language/DatabaseLink/tutorial/SecureSocketLayer.html
... seems to suggest that one needs to get the security certificate for the site, generate a "truststore" file, and then load the JVM in a way that specifies which truststore file should be used.
I'm unsure if this is leading me in the right direction or not. But as of now, I'm unsure how I would go about getting this security certificate.
I seem to have stumbled upon at least one way to get around the failure I was seeing, as described in the "Using SSL without Certificate Validation" section of:
https://jdbc.postgresql.org/documentation/head/ssl-client.html
I was able to specify the sslfactory option via:
OpenSQLConnection[
...,
"Properties" -> {"ssl" -> "true", "sslfactory" -> "org.postgresql.ssl.NonValidatingFactory"}
]
Now the database connection is succeeding.

How to use liquibase cmd with db2 ssl connection?

I'm trying to run liquibase update command using
liquibase --driver="com.ibm.db2.jcc.DB2Driver" --changeLogFile="masterchangelog.xml " --url="jdbc:db2://localhost:60001/SMDINTDB:retrieveMessageFromServerOnGetMessage=true;sslConnection=true;" --username="" --password="" --classpath=/home/db2inst1/sqllib/java/db2jcc4.jar validate
But I'm getting following error. Can anyone help me how to resolve this issue? How I can specify the location of certs ?
Unexpected error running Liquibase: com.ibm.db2.jcc.am.DisconnectNonTransientConnectionException: [jcc][t4][2030][11211][4.26.14] A communication error occurred during operations on the connection's underlying socket, socket input stream,
or socket output stream. Error location: Reply.fill() - socketInputStream.read (-1). Message: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target. ERRORCODE=-4499, SQLSTATE=08001
Several pre-requisites exist for on-premises Db2-LUW SSL connectivity with jdbc.
liquibase works correctly with SSL connections to on-premises Db2-LUW, if all the prerequisite configuration completed successfully. Here are some tips.
the target Db2-LUW instance has to be already configured for SSL as per IBM Db2 documentation here. If you are using a cloud based Db2 service from IBM then this is already done for you, although you may need to use the IBM supplied root cert on the client side.
your client side JRE needs to be configured per IBM's Db2-LUW documentation here. I use the IBM JRE (as supplied with the Db2-LUW server) for liquibase.
for on-premises Db2-LUW your client side needs the java keystore created, and the server's certificate imported into it (keytool -importcert -file /your/path/to/server_certificate ... ).
for your specific error, for on-premises Db2-LUW you might try additional options in the connection string to tell the JRE how to access the client side keystore into which you already imported the server certificate. Specifically sslTrustStoreLocation=/path/to/.keystore;sslTrustStorePassword=whatever; . Note that I did not need these options if using Db2-on-cloud (liquibase worked correctly with SSL to Db2-on-cloud once I added DigiCertGlobalRootCA.crt to my keystore (although even that may be unnecessary) , but I did not try Db2-warehouse-on-cloud as I don't use that service.

Apache JMeter accepting expired SSL certificate

I observed while testing an external web service from my java program is returning:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: timestamp check failed
But the same URL is accessible via Jmeter and SOAP UI. Based on some googling seems SOAP UI ignores hostname verification and expired certs checks but not getting enough information on Jmeter.
Does Jmeter ignores SSL handshakes error when certs are expired? Appreciate any help to enforce such validation.
By default JMeter doesn't do any check on certificate :
It accepts certificates invalid for current hosts
It accepts expired certificates
This is to allow using it in QA Environment where both conditions are very frequent

SSIS/SSDT: underlying connection was closed?

I am trying to use Web Service Task in SSIS/SSDT to use our company's Web Service. However I am getting this error: "The error is: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel..". I have installed the certificate to Trusted Root Certificates Authorities but I am still getting that error. I speculate that the issue stems from a mismatch name. Where the domain name does not match the name on the certificate I installed. Is there a solution for this or can I have SSIS/SSDT to ignore this certificate error?

Unable to call service from ESB

We are able to call web service from postman or custom request generator. However, while connecting using IBM Integration bus we are getting below exception. Can some one help with this error.
Exception below:
"Web Service request has detected a SOCKET error whilst invoking a web
service located at host &1, on port &2, on path &3."
"javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.j: PKIX path
building failed: java.security.cert.CertPathBuilderException:
PKIXCertPathBuilderImpl could not build a valid CertPath.; internal
cause is: java.security.cert.CertPathValidatorException: The
certificate issued by CN=VeriSign Universal Root Certification
Authority, OU="(c) 2008 VeriSign, Inc. - For authorized use only",
OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US is not trusted;
internal cause is: java.security.cert.CertPathValidatorException:
Certificate chaining error"
To resolve this problem, you should add the certificate into your trust store.
To setup the truststore on broker :
https://www.ibm.com/support/knowledgecenter/SSMKHH_9.0.0/com.ibm.etools.mft.doc/ac56640_.htm
To retrieve the certificate of the service you are calling, you can ask for it to your contact, or you can just go to the ?wsdl page and directly save the certificate from chrome
PS : If it works for other tools, it is simply because IIB refuse all the untrusted connexions by default, while some other tool allow it.

Resources