Apache SSL: Unterschied zwischen den Versionen

Aus MyWiki
Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt: „== Erstellen eines SSL Zertifikates unter Linux für Apache mit OpenSSL == Um auf einem Linux Server mit Apache Webseiten mit HTTPS zu nutzen benötig…“
 
Keine Bearbeitungszusammenfassung
Zeile 2: Zeile 2:


Um auf einem Linux Server mit Apache Webseiten mit HTTPS&nbsp;zu nutzen benötigt man ein SSL&nbsp;Zertifikat.<br>Dazu erstellt man ein Certificate Request mit openssl  
Um auf einem Linux Server mit Apache Webseiten mit HTTPS&nbsp;zu nutzen benötigt man ein SSL&nbsp;Zertifikat.<br>Dazu erstellt man ein Certificate Request mit openssl  
<blockquote>openssl req -new -x509 -days 365&nbsp;-keyout server-rsa-key.pem -out server-cert.pem </blockquote>  
<blockquote>openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr</blockquote>  
Dabei wird man u.a. nach dem Common Name (CN)&nbsp;und ein Passwort gefragt.<br>Der CN&nbsp;muss dabei der FQDN&nbsp;des Servers bzw. der Webseite sein.  
Dabei wird man u.a. nach dem Common Name (CN)&nbsp;und ein Passwort gefragt.<br>Der CN&nbsp;muss dabei der FQDN&nbsp;des Servers bzw. der Webseite sein.  



Version vom 31. Januar 2013, 10:36 Uhr

Erstellen eines SSL Zertifikates unter Linux für Apache mit OpenSSL

Um auf einem Linux Server mit Apache Webseiten mit HTTPS zu nutzen benötigt man ein SSL Zertifikat.
Dazu erstellt man ein Certificate Request mit openssl

openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr

Dabei wird man u.a. nach dem Common Name (CN) und ein Passwort gefragt.
Der CN muss dabei der FQDN des Servers bzw. der Webseite sein.

Den Request bzw. dessen Inhalt schickt man an eine CA oder signiert das Zertifikat mit einer eigenen CA z.B auf dem Windows Server (dazu weiter unten mehr)

Hat man das Zertifikat von der CA erhalten (Apache benötigt es im DER Base-64 Format) kopiert man die Datei (oder deren Inhalt) auf den Linux Server

Wenn ein Key in verschlüsselter Form vorliegt (und mit einer Passphrase gesichert ist), muß die Passphrase bei jedem Neustart des Apache Dienstes neu eingegeben werden. Wenn der Key im Klartext vorliegt, ist das nicht notwendig.
Um Key zu entschlüsseln und die Passphrase zu entfernen ist der folgende Aufruf notwendig:

openssl rsa -in server-rsa-key.pem > server-key.pem

Nun verschiebt man das Zertifikat und den entschlüsselten Key in den /etc/apache/ssl Verzeichnis
In der Apache-Konfig bzw. der entsprechenden Seite /etc/apache/sites-enabled fügt man in der VirtualHost Konfiguration noch folgendes ein:

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/pmn43.pem
SSLCertificateKeyFile /etc/apache2/ssl/pmn43.key

Nach einem Neustart des Apache Servers sollte man nun HTTPS/SSL nutzen können


Hier nun die Erklärung wie man mit Windows das Zertifikat erstellt:

Man benötigt die "Active Directory Certificate Services" Rolle
Ruft dann die Webseite http://Server_mit_AD_CA_Rolle/certsrv auf und klickt auf "Request a certificate"
Nun auf "advanced certificate request" und dann "Submit a certificate request by using a base-64-encoded CMC or PKCS #10 file, or submit a renewal request by using a base-64-encoded PKCS #7 file"
Danach fügt man den Request Inhalt ein.
WICHTIG: Darauf achten, dass bei Template Webserver steht und nicht User, da sonst der CN durch den aktuellen Benutzername ersetzt wird.