This error occurs when a browser encounters a certificate that it does not trust. By that I mean that the server's certificate is not installed as a trusted root certificate. These are handled different on a browser to browser basis, but generally the error message you see allows the user to add the un-trusted certificate to its trusted certificate store if they choose.
This error does only occur when the user tries to access the page via
https://, or if you redirect your
http:// page to the SSL/TLS enabled webpage. The server is responsible for handling the HTTPS request, and sending its certificate for validation. When the browser receives the certificate the following checks should happen:
- Does the browser recognize the certificate as a trusted certificate?
- Is the certificate expired or revoked?
- If the answer is no to both, then this message will be displayed.
- Now the user is given the option to continue to the website and/or install the certificate in its trusted store.
This will not stall things on the server side, and will run without error. The reaction to an un-trusted certificate depends upon the browser that is accessing the webpage. Regardless, most SSl/TLS protocol implementations will allow a certain amount of time for the client to respond to this message. If the user accepts the certificate as valid within the timeout window then the connection will proceed as normal. If they wait too long then the user will get a "session timeout" error, and they will have to reconnect to the website.
Curl automatically verifies server certificates. If you'd like to turn this off you can do this with
--insecure. Or you can add your server certificate to the trusted store.
Add Self Signed Certificate to cURL Trusted Store
The link above will take you through the steps of determining where on your Linux system the trusted certificates are stored, and how you can add your server's certificate to be trusted.
Since the commercial software is passing along arguments to cURL, I would expect that if cURL doesn't trust the certificate that it would fail. The user won't be able to access the page. It's also entirely possible that the software has mechanisms for handling this error. It may prompt the user to install the certificate, and continue the connection. Without knowing the software it's hard to say what its exact reaction will be.