Inhaltsverzeichnis

Apache mit offiziellen SSL-Zertifikat betreiben

Offiziellen Key erzeugen/kaufen

Name und Dateien (wer spielt mit?):

Erstellen:

Siehe auch: http://support.psw.net/questions/26/Wie-wird-eine-Zertifizierungsanforderung-%28CSR%29-erstellt-%28Apache%29%3F

Passwort aus Key-Datei löschen

selbst signiertes Zertifikat erstellen

Siehe: http://httpd.apache.org/docs/2.2/ssl/ssl_faq.html#selfcert

Apache-Konfig

NameVirtualHost domain.de:443
<VirtualHost domain.de:443>
        DocumentRoot /home/domain/www
        ServerName domain.de:443
        ServerAlias www.domain.de
        ######################################################################
        ServerAdmin webmaster@domain.de
        ErrorLog /var/log/httpd/domain-error_log
        CustomLog /var/log/httpd/domain-access_log common

        <Directory /home/domain/www>
          # beachte .htaccess :
          AllowOverride All
        </Directory>

        # zusaetzlich fuer SSL:
        SSLEngine on
        SSLProtocol all -SSLv2
        SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
        SSLCertificateKeyFile /etc/pki/tls/domain/domain.key
        SSLCertificateFile /etc/pki/tls/domain/domain.crt
        <Files ~ "\.(cgi|shtml|phtml|php3?)$">
            SSLOptions +StdEnvVars
        </Files>
        <Directory "/var/www/cgi-bin">
            SSLOptions +StdEnvVars
        </Directory>
        SetEnvIf User-Agent ".*MSIE.*" \
                 nokeepalive ssl-unclean-shutdown \
                 downgrade-1.0 force-response-1.0
</VirtualHost>

Debian:

CSR-Datei prüfen

Wie prüfen, ob Key- und Zertifikatsdatei zusammenpassen?

Prüfe ein Zertifikat / einen Server mit/ohne CAFile

Welche Ciphers kann ein Server?

Von https://github.com/wki/MyHomeBinaries/blob/master/bin/check_ssl.sh:

#!/bin/bash
# This script is taken from:
# http://superuser.com/questions/109213/is-there-a-tool-that-can-test-what-ssl-tls-cipher-suites-a-particular-website-of
#
if [[ "x$1" == "x" ]]; then
  echo "must give ip or host name as parameter"
  exit 1
fi

server=$1
echo "Testing Server $server..."

# OpenSSL requires the port number.
DELAY=1



openssl ciphers -v 'ALL:eNULL' | while read cipher ssl kx au enc mac export
do
      echo -n -e "Testing $cipher, $ssl, $enc... \t"
      result=`echo -n | openssl s_client -cipher "$cipher" -connect $server:443 2>&1`
      if [[ "$result" =~ "Cipher is " ]] ; then
        echo YES
      else
        if [[ "$result" =~ ":error:" ]] ; then
          error=`echo -n $result | cut -d':' -f6`
          echo NO \($error\)
        else
          echo UNKNOWN RESPONSE
          echo $result
        fi
      fi
      sleep $DELAY
done

SSL certificate chain resolver