## page was renamed from HowToDocuments/SSLApacheUbuntu [[HowToDocuments/SSLApacheUbuntu/CZ|česky]] | [[HowToDocuments/SSLApacheUbuntu/CY|cymraeg]] | '''deutsch''' | [[HowToDocuments/SSLApacheUbuntu|english]] | [[HowToDocuments/SSLApacheUbuntu/ES|español]] | [[HowToDocuments/SSLApacheUbuntu/FR|français]] | [[HowToDocuments/SSLApacheUbuntu/IT|italiano]] | [[HowToDocuments/SSLApacheUbuntu/NL|nederlands]] | [[HowToDocuments/SSLApacheUbuntu/PL|polski]] | [[HowToDocuments/SSLApacheUbuntu/PT|português]] --- [[HowToDocuments/DE|noch mehr Schritt-für-Schritt-Anleitungen]] == SSL-Zertifikat und -Schlüssel für Ubuntu und Apache (Schritt-für-Schritt-Anleitung) == Hier eine genaue Beschreibung, wie man ein Zertifikat und Schlüssel für SSL mit Ubuntu oder Apache erstellen kann. === Zertifikat und Key erstellen (Ubuntu, Apache) === Das SSL-Zertifikat wird mit dem Befehl [`create_ca_csr.sh`] (https://wiki.cacert.org/CSRGenerator) erstellt. Dabei sollte das Crypto-Signatur-Verfahren mindestens auf SHA256 erhöht werden. * Dabei fällt ein privater Schlüssel (```_privatekey.pem```) im `$home`-Verzeichnis aus. Das ist der private Schlüssel des SSL-Zertifikates und extrem wichtig. Deshalb muss man muss ihn sicher verstauen, dass ihn keiner bekommt. * Ausserdem fällt ein CertificateSigningRequest in StandardOut aus. Das ist eine 'Anfrage' an eine CA (Certification Authority - in diesem Fall an cacert.org). Das CertificateSigningRequest muss man bei CAcert einreichen (in das Webformular). Dort wird es signiert und man bekommt ein Zertifikat zurück (das man in cacert-.crt abspeichert). Für CAcert braucht man ein Client-Zertifikat zum Anmelden im Browser.<
> Das `.pem` fällt auch in `$home`-Verzeichnis bei dem Skript raus, ich weiß aber gerade nicht, für was das ist.<
> * Den privaten Schlüssel (`_privatekey.pem`) legt man in ```/etc/ssl/private```. * Das Zertifikat (```cacert-.crt```) in ```/etc/ssl/certs```. * Die Stammzertifikate](https://www.cacert.org/index.php?id=3) hab ich nach `/usl/local/share/ssl/` geschoben. Über `sudo dpkg-reconfigure ca-certificates` kann man das Stamm-Zertifikat systemweit importieren. === Apache === Nun muss der Webserver das Zertifikat verwenden.<
> Man macht dazu in `/etc/apache/sites-availabe/` zu jeder site.conf eine site-ssl.conf <
> Dort schreibt man sowas hinein: {{{#!python numbers=off Apache ## Redirect to https site: ServerName .de ServerAlias www..de Redirect Permanent / https://.de ## https site: [...] Apache ## ssl things: SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM SSLCertificateFile /etc/ssl/certs/CAcert-.crt SSLCertificateKeyFile /etc/ssl/private/_privatekey.pem SSLCertificateChainFile /usr/local/share/ssl/sub.class1.server.ca.pem # HTTP Strict Transport Security (HSTS) Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload" [...] Apache - Seiten aktivieren und Apache neu starten: bash sudo a2enmod ssl sudo a2dissite site.conf sudo a2ensite site-ssl.conf sudo service apache2 restart }}} fertig... Quelle: SE/15 ---- . CategoryTutorials . CategoryStepByStep