Questions tagged [ssl]

Secure Sockets Layer (SSL) is a cryptographic protocol, now superseded by Transport Layer Security (TLS) that provides secure communications over the Internet. Often, SSL is used as a blanket term and refers to both the SSL protocol and the Transport Layer Security (TLS) protocol. The most recent version of the protocol is TLS version 1.3, specified by the IETF in RFC 8446.

'Secure Sockets Layer' was originally a comp.sources Usenet post in the 1980s, using a fairly primitive security protocol. Netscape Communication Corp pioneered the current SSL protocol, in SSL 2.0, the first version deployed, followed by SSL 3.0. At that point the IETF decided to standardize on this protocol, so RFC 2246 defined the next version of this protocol. There was some uncertainty over the intellectual property rights to the SSL name so the IETF chose the name Transport Layer Security (TLS). Today the names SSL and TLS are essentially synonyms. However, if you refer to a specific version you should include the correct name, e.g SSL 3.0 or TLS 1.1. As a progression it goes SSL 2.0 < SSL 3.0 < TLS 1.0 < TLS 1.1 < TLS 1.2 < TLS 1.3, where "<" means "precedes".

Current security standards forbid running any SSL version or TLS 1.0 (due to their various flaws). It is recommended to run only TLS 1.2 and TLS 1.3.

TLS was originally developed to run above a connection-oriented protocol, i.e. TCP. Later, TLS modified to run over connectionless protocols like UDP by way of Datagram Transport Layer Security (DTLS).

TLS is a mature protocol, now more than 20 years old, with vast support on a multitude of clients, servers, platforms, and libraries. However, there is some complexity around the cipher suites, the TLS Extensions, and the certificate validation, that regularly introduced reasons ending in non-interoperability. Perhaps the most well-known protocol that uses TLS is the HTTPS protocol, which is the HTTP protocol running over TLS.

Stackoverflow is for programming questions, and that is also true for questions tagged with TLS or SSL. In particular, server configuration questions are off-topic and instead should be asked on ServerFault.

50662 questions
108
votes
5 answers

what is the difference between .cer & pfx file

People used to say - cer - certificate stored in the X.509 standard format. This certificate contains information about the certificate's owner... along with public and private keys. pfx - stands for personal exchange format. It is used to exchange…
Thomas
  • 33,544
  • 126
  • 357
  • 626
108
votes
6 answers

How can I create keystore from an existing certificate (abc.crt) and abc.key files?

I am trying to import a certificate and a key file into the keystore but I'm unable to do that. How can I create a keystore by importing both an existing certificate (abc.crt) and abc.key files?
Ravi Jain
  • 1,439
  • 3
  • 12
  • 6
107
votes
3 answers

How do Common Names (CN) and Subject Alternative Names (SAN) work together?

Assuming the Subject Alternative Name (SAN) property of an SSL certificate contains two DNS names domain.example host.domain.example but the Common Name (CN) is set to only one of both: CN=domain.example. Does this setup have a special meaning,…
Jürgen Thelen
  • 12,745
  • 7
  • 52
  • 71
106
votes
5 answers

How do you remove the root CA certificate that fiddler installs

Fiddler helpfully offers to add a unique root CA certificate to intercept HTTPS traffic. Once this certificate has been added, how do you go about removing it?
muzzamo
  • 1,721
  • 2
  • 14
  • 18
105
votes
17 answers

Unable to select Custom SSL Certificate (stored in AWS IAM)

I am going to create a new distribution at CloudFront. Already I have uploaded my SSL certificate at AWS IAM using AWS CLI. That certificate appears in the Custom SSL Certificate dropdown on new distribution page but it is DISABLED. Can someone tell…
theGeekster
  • 6,081
  • 12
  • 35
  • 47
105
votes
11 answers

Adding a self-signed certificate to iPhone Simulator?

I have a self-signed certificate at the endpoint of my API. I'm trying to test some things using the simulator but am getting "untrusted server certificate". I have tried to use safari on the simulator to download the .crt file, but that doesn't…
jr.
  • 4,503
  • 7
  • 44
  • 62
104
votes
10 answers

fatal: unable to access 'https://github.com/xxx': OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443

When l try to use git push, an error reports: Fatal: fatal: unable to access 'https://github.com/xxx': OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443 My git version is 2.16.2 for windows It worked well before this day,…
Rosmee
  • 1,125
  • 2
  • 10
  • 10
103
votes
11 answers

Https Connection Android

I am doing a https post and I'm getting an exception of ssl exception Not trusted server certificate. If i do normal http it is working perfectly fine. Do I have to accept the server certificate somehow?
Sam97305421562
  • 3,027
  • 10
  • 35
  • 45
103
votes
6 answers

How to debug SSL handshake using cURL?

I would like to troubleshoot per directory authentication with client certificate. I would specially like to find out which acceptable client certificates does server send. How do I debug SSL handshake, preferably with cURL?
Bajo
  • 1,073
  • 2
  • 8
  • 5
102
votes
21 answers

javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake during web service communicaiton

I am getting javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake exception when I try to do HTTPS Post of a web service through internet. But same code works for other internet hosted web services. I tried many…
user3216923
  • 1,021
  • 2
  • 8
  • 4
102
votes
6 answers

Caused by: java.security.UnrecoverableKeyException: Cannot recover key

I am supplied with a jks keystore named ABCC_client.store. When I import this keystore to cacerts and try connecting it says No such Algorithm error. PFA the stacktrace Caused by: java.security.NoSuchAlgorithmException: Error constructing…
Mrinal Bhattacharjee
  • 1,326
  • 4
  • 10
  • 15
102
votes
4 answers

What does force_ssl do in Rails?

In a previous question I found out that I should be setting nginx ssl termination and not having Rails process encrypted data. Then why does the following exist? config.force_ssl = true I see this commented out in the production config file. But if…
user782220
  • 10,677
  • 21
  • 72
  • 135
102
votes
5 answers

SSL and man-in-the-middle misunderstanding

I've read tons of documentation related to this problem but I still can't get all the pieces together, so I'd like to ask a couple of questions. First of all I'll describe briefly the authentication procedure as I understand it, as I may be…
Vadim Chekry
  • 1,243
  • 2
  • 12
  • 15
102
votes
17 answers

HAProxy redirecting http to https (ssl)

I'm using HAProxy for load balancing and only want my site to support https. Thus, I'd like to redirect all requests on port 80 to port 443. How would I do this? Edit: We'd like to redirect to the same url on https, preserving query params. Thus,…
Jon Chu
  • 1,877
  • 2
  • 20
  • 19
101
votes
25 answers

SQL Server JDBC Error on Java 8: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption

I am getting the following error when connecting to a SQL Server database using version the Microsoft JDBC Driver: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure…
2Aguy
  • 3,955
  • 5
  • 22
  • 28