Docusign Webhook TLS exception - docusignconnect

When DocuSign tries to call my API it throws a TLS exception, how can I solve this?
Error: Exception in EnvelopeIntegration.RunIntegration: 7f48081c-4fb1-48c5-a97a-66498625a892 :: https://dapi.altertude.com/api/1/rest/feed-master/queue/GTC_Dev/apim/DocuSign/1.0.1/Docusignwebhook :: Error - The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.; The remote certificate is invalid according to the validation procedure.

You need to use a TLS certificate for HTTPS connections that is issued by a well-known CA, such as those listed in the Microsoft Trusted Root program. Using a self-signed certificate or any of the free certificates from untrusted CAs will not work.

Related

wso2 api manager schannel: next InitializeSecurityContext failed- The certificate chain was issued by an authority that is not trusted

I am using WSO2 API manager 3.2.0 and I am faced with a probelm when I configured load balancing with Nginx and multi instance, as following :
schannel: next InitializeSecurityContext failed: SEC_E_UNTRUSTED_ROOT (0x80090325) - The certificate chain was issued by an authority that is not trusted.
Could you please guide me how to solve it? I know that is SSL_Certificate issue and for example we can invoke api wit -inactive or deisable ssl verification in post man, but I want to solve it. I have studied in document that there is wso2carbon.jks that is default keystore , so how to solve problem with defualt key store?
The mentioned error is happening since you are using Self-Signed certificates in your environment. The cURL doesn't trust the Self-Signed certificates when trying to invoke the APIs. Therefore, if you want to overcome this behavior, you have to generate a CA-signed certificate and configure the environment.
You can refer to the following docs to generate and configure CA-signed certificate with WSO2 API Manager.
Furthermore, if this is your local setup, you can move forward with the -k flag in the cURL command to bypass and make an insecure connection with the API Manager.

Communication problem with Web Service in localhost via SSL

I have created a certificate with Powershell:
New-SelfSignedCertificate -DnsName "localhost" -CertStoreLocation "cert:\LocalMachine\My"
I have copied the certificate to trusted root certification authorities
I have enabled certificate binding in IIS
Now if I access localhost from chrome I see the ssl connection correctly
however, if I start the connection from the web application I get the following error:
The SSL connection could not be established, see inner exception.
Request text: https://localhost/webservice/api/ImboundCall/?Telephone=5551234
System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure
even with Postman same message

Is HTTPs without SSL verification secure for local application?

I am building a C++ application that needs secure connection to an SSL enabled server. I have read that for HTTPs to be fully secure, it requires the client to also use a valid certificate. But for my application, the certificate would be on disk so anyone installing the app would have access to the file. I came to the conclusion that the SSL certificate is not necessary for the application.
Am I right? Does an attacker could, somewhat, intrude into my SSL server?
Thanks a lot!
Secure HTTPs connection
When connecting to a TLS (nowadays)-enabled server, it's the server certificate that is mostly relevant (although some servers request a specific certificate from the client for authentication, but that's rare since a cert isn't as easily managed as a username+password).
That means that you don't need to have a trusted certificate, since one is generated (self signed) at runtime when neeeded as part of the TLS handshake.
The same happens in some TLS-enabled services outside WWW, for example, a SMTP TLS server's certificate is practically never checked against a trusted root.
Now If you are programming a WWW server application, yes you need a trusted cert. Check Let's Encrypt.

Tomcat - WebService - without Trust Store

We have a Webservice Application running on Tomcat.
This is SSL secured. We need to share our public key to every client trying to access our web services. Is it possible to disable the trust certificate verification ?
By default, all TLS clients should verify the servers to which they are connecting. Any other default behavior would be dangerous.
The client is the party performing the verification in a one-way TLS handshake (that is, when there is no client-authentication being performed where the client also presents a certificate to the server).
There are only two ways to avoid distributing your server's certificate to all possible clients:
Get your server's certificate signed by a trusted Certificate Authority (CA)
Modify all possible clients to ignore any problems with your certificate (such as not trusting it)
These days, with free domain certificates available from e.g. Let's Encrypt, it's silly not to use a certificate signed by a legitimate CA.

How can I verify a self-signed certificate?

I am currently writing a desktop app which will need to communicate with PHP scripts on my remote server via https(with a self-signed certificate). The server-client communication code is still in the planning stages, however because I haven't yet figured out how to verify (on the client) that I am actually communicating with MY server. I'm presuming that there is some way to verify the servers identity using the certificate. I am intending to use WinHTTP for the https communication, providing it has all of the functionality that I need.
To greatly oversimplify things: clients verify the server's certificate by using a hardcoded list of trusted certificate authorities. The certificate authority list is an internal list of certificates that's baked into the client, and the client verifies that the certificate presented by the server is signed by one of the certificate authorities that the client trusts.
So, no matter what you end up doing, your client will have to keep some kind of a list of certificates that it trusts. This is a fundamental aspect of the TLS trust model. You could simply include your self-signed certificate with the client, and the client verifies that that your server presented the same certificate.
But the right answer is to run your own certificate authority. It involves some additional advance prepwork, but the end result will work much better. Instead of the several dozen, or so, standard certicicate authorities that are either included in your operating system, or your browser, your client will have exactly one trusted certificate authority in its trust list: your own certificate authority, and your client will verify that your server's certificate is signed by your certificate authority.