Questions tagged [ssl]

SSL/TLS is a cryptographic protocol designed to provide communications security over a computer network. It is the S in HTTPS, IMAPS, SMTPS, etc.

TLS, also known as SSL, is a protocol for secure communication over an insecure channel.

Originally invented for HTTP traffic, TLS is commonly used for protocols such as POP3, IMAP, SMTP, LDAP, etc. With some protocols, TLS is usually used on separate ports, most famously port 443 for HTTPS (HTTP over SSL/TLS) (as opposed to plain HTTP on port 80). These protocols typically have names which have a trailing letter S (such as HTTPS vs. HTTP). Some protocols, such as SMTP, POP3 and IMAP, allow to initiate SSL by the STARTTLS command. A variant of the protocol called DTLS is used on top of UDP . [SSH] is a completely separate protocol that a similar design.

Technically SSL designates obsolete proprietary versions of the protocol (SSL2 and SSL3), and TLS designates the more modern versions (TLS1.0, TLS1.1, TLS1.2 and the upcoming TLS1.3). As of 2017, SSL3 and below are insecure and should not be used, and TLS1.0 and TLS1.1 are on their way out.

Most ways of establishing a secure channel require at least the client to authenticate the server. This is done using public-key cryptography, with a chain of X.509 certificates : a client trusts a server if there is a chain of certificates where the server's certificate is signed by a certificate authority (CA), and the CA's certificate is signed by another CA, and so on until a root CA is reached. A root CA is one that is distributed with the operating system or client application and that the client considers to be trusted by default. Certificates can also allow the server to authenticate the client.

Background topics on SSL/TLS

663 questions
161
votes
6 answers

Adding a self-signed certificate to the "trusted list"

I've generated a self-signed certificate for my build server and I'd like to globally trust the certificate on my machine, as I created the key myself and I'm sick of seeing warnings. I'm on Ubuntu 12.04. How can I take the certificate and globally…
Naftuli Kay
  • 38,686
  • 85
  • 220
  • 311
147
votes
6 answers

apache2 Invalid command 'SSLEngine'

When I restart httpd, I get the following error. What am I missing? [root@localhost ~]# service httpd restart Stopping httpd: [ OK ] Starting httpd: Syntax error on line 22 of…
Christian
  • 2,155
  • 3
  • 16
  • 14
94
votes
5 answers

How can I verify SSL certificates on the command line?

I'm trying to validate/verify that the rsa key, ca-bundle, and certificate stored here are ok. They are not being served by a webserver. How can I verify them?
xenoterracide
  • 57,918
  • 74
  • 184
  • 250
91
votes
5 answers

How to extract the Root CA and Subordinate CA from a certificate chain in Linux?

I have an end-entity/server certificate which have an intermediate and root certificate. When I cat on the end-entity certificate, I see only a single BEGIN and END tag. It is the only the end-entity certificate. Is there any way I can view the…
Anirban Nag 'tintinmj'
  • 1,115
  • 1
  • 10
  • 10
77
votes
8 answers

How to disable SSLv3 in Apache?

Everybody seems to be talking about the POODLE vulnerability today. And everybody recommends disabling SSLv3 in Apache using the following configuration directive: SSLProtocol All -SSLv2 -SSLv3 instead of the default SSLProtocol All -SSLv2 I've…
Bogdan Stăncescu
  • 911
  • 1
  • 6
  • 9
61
votes
2 answers

Do I Need to Restart Nginx if I Renew My Security Certificate(s)?

So I'm setting up an nginx server with SSL enabled with a server definition something like: server { listen :80; listen [::]:80; server_name example.org; root /foo/bar; ssl on; ssl_certificate /path/to/public/certificate; …
Haravikk
  • 1,021
  • 2
  • 13
  • 19
58
votes
2 answers

Create SSL certificate non-interactively

I want to silently, non interactively, create an SSL certificate. I.e., without get prompted for any data. The normal way I create the certificate would be: openssl req -x509 -nodes -days 7300 -newkey rsa:2048 \ -keyout…
TheNiceGuy
  • 845
  • 2
  • 7
  • 10
55
votes
1 answer

make fatal error: openssl/sha.h: No such file or directory

I'm trying to compile a program that, according to the documentation, requires the "OpenSSL library". I have OpenSSL installed, and it's still giving me the error openssl/sha.h: No such file or directory. Is there some other library that has to be…
tkbx
  • 10,597
  • 13
  • 35
  • 41
42
votes
3 answers

How to fix curl sslv3 alert handshake failure?

I'm trying to curl HTTPS website in the following way: $ curl -v https://thepiratebay.se/ However it fails with the error: * About to connect() to thepiratebay.se port 443 (#0) * Trying 173.245.61.146... * connected * Connected to thepiratebay.se…
kenorb
  • 20,250
  • 14
  • 140
  • 164
35
votes
8 answers

Apache SSL: server cert does not include ID which matches server name

I'm trying to set up SSL on my apache2 webserver, but it seems that it does not work at all. I have followed a tutorial to create cert files with openssl and configured the /etc/apache2/sites-available/default-ssl.conf properly. Every time I try to…
pixelmusik
  • 611
  • 1
  • 6
  • 9
33
votes
8 answers

Unable to locally verify the issuer's authority

I am not able to open any https URLs using wget or curl: $ wget https://www.python.org --2015-04-27 17:17:33-- https://www.python.org/ Resolving www.python.org (www.python.org)... 103.245.222.223 Connecting to www.python.org…
aco
  • 431
  • 1
  • 4
  • 4
32
votes
3 answers

How do I use implicit FTP over TLS

Using any FTP client (I'm on Ubuntu 12.04 and tried using lftp), I want to be able to make an implicit TLS connection to a FTP server, but I can't quite manage to successfully connect. All I am getting is: 'ls' at 0 [Delaying before reconnect 29]
dominicbri7
  • 421
  • 1
  • 4
  • 5
30
votes
3 answers

Trust a self signed PEM certificate

I have set up a proxy server with SSL using a PEM certificate. Now, there is a couple of machines of mine that I would like to trust this certificate automatically (without the web browser complaining). How can I install a PEM certificate on each…
admirabilis
  • 4,642
  • 9
  • 41
  • 57
28
votes
1 answer

How to create keystore and truststore using self-signed certificate?

We have JAVA server and client communicate over a network using SSL. The server and client mutually authenticate each other using certificates. The keystore type used by the server and client is JKS. The server and client loads their keystore and…
vic99
  • 281
  • 1
  • 3
  • 3
23
votes
3 answers

How to see list of curl ciphers?

My understanding is that during ssl negotiation, the client (i.e. curl) sends a list of ciphers to the server, and the server replies with its preferred choice. How do I see the list of ciphers that curl is sending?
Benubird
  • 5,752
  • 10
  • 36
  • 41
1
2 3
44 45