CAcert Zertifikat erstellen oder aktualisieren
Mit OpenSSL und CAcert ein X.509-Zertifikat für verschiedene Anwendungen erstellen oder aktualisieren
Dieser Artikel beschäftigt sich mit dem CAcert Zertifikat. Darin möchte ich meine Erfahrungen sammeln und diese euch zur verfügung stellen. CAcert ist eine gemeinschaftsbetriebene, nicht-kommerzielle Zertifizierungsstelle (Certification Authority, Root-CA oder kurz CA), die kostenfrei X.509-Zertifikate für verschiedene Einsatzgebiete ausstellt. Damit soll eine Alternative zu den kommerziellen Root-CAs geboten werden, die zum Teil recht hohe Gebühren für ihre Zertifikate erheben.
- Ein Zertifkat erstellen
- Anwendung in Programmen
- Links und Quellen
- Kommentar schreiben
- Weitere Themen
Ein Zertifkat erstellen
Verzeichnisse erstellen
mkdir /etc/ssl-cacert/apache/
mkdir /etc/ssl-cacert/lighttpd/
mkdir /etc/ssl-cacert/mail/
mkdir /etc/ssl-cacert/proftpd/
mkdir /etc/ssl-cacert/ldap/
OpenSSL Config erstellen
[ req ]
default_bits = 1024
default_keyfile = keyfile.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
prompt = no
output_password =
[ req_distinguished_name ]
C = DE
ST = BUNDESLAND
L = STADT
O = IRGENDWAS
OU = IRGENDWAS
CN = DOMAIN.TLD <- SEHR Wichtig
emailAddress = webmaster@DOMAIN.TLD
[ req_attributes ]
challengePassword = Beliebiges Passwort
OpenSSL Zertifikat erstellen
openssl req -new -days 1825 -key /etc/ssl/certs/apache_server.key \
-out /etc/ssl/certs/apache_server.csr \
-config /etc/ssl-cacert/openssl.conf
openssl rsa -in /etc/ssl/certs/apache_server.key -out /etc/ssl/certs/apache_private.key.decrypted
CAcert Zertifikat beantragen
Account bei CAcert erstellen und die entsprechende Domain, unter Domains->Hinzufügen, eintragen. Nachdem die Domain hinzugefügt wurde, kann nun das Server Zertifikat beantragt werden. Dazu geht man in Server Zertifikate->Neu und kopiert den Inhalt von /etc/ssl/certs/apache_server.csr in das Textfeld.
.
.
-----END CERTIFICATE REQUEST-----
Nach ein paar Sekunden wird das CAcert Zertifikat angezeigt:
.
.
-----END CERTIFICATE-----
Nun eine neue Datei mit den Namen apache_server.crt erstellen und das Zertifikat von CAcert dort hinein kopieren:
Anwendung in Programmen
Apache-SSL
Nun die Zertifikate und Schlüssel in das /etc/ssl-cacert/apache Verzeichnis kopieren:
cp /etc/ssl/certs/apache_server.csr /etc/ssl-cacert/apache/
cp /etc/ssl/certs/apache_server.crt /etc/ssl-cacert/apache/
cp /etc/ssl/certs/apache_private.key.decrypted /etc/ssl-cacert/apache/
Einstellungen von Apache-SSL in /etc/apache-ssl/httpd.conf vornehmen:
SSLCertificateKeyFile /etc/ssl-cacert/apache/apache_private.key.decrypted
Nun noch Apache-SSL neustarten:
Lighttpd
Als eine gute Alternative zu dem ressourcen-hungrigen Apache-SSL Server bietet sich Lighttpd an.
cp /etc/ssl/certs/apache_private.key.decrypted /etc/ssl-cacert/lighttpd/lighttpd.key.decrypted
Jetzt noch das Class 3 - CAcert Zertifikat herunterladen:
chmod a=r /etc/ssl-cacert/lighttpd/cacert.crt
Lighttpd brauch eine PEM Datei. Dazu wird die crt und die key Datei in diese eingefügt:
Jetzt noch die 10-ssl.conf von Lighttpd bearbeiten:
ssl.use-sslv2 = "disable"
ssl.cipher-list = "ALL:!ADH:!LOW:!SSLv2:!EXP:+HIGH:+MEDIUM"
ssl.pemfile = "/etc/ssl-cacert/lighttpd/lighttpd.pem"
ssl.ca-file = "/etc/ssl-cacert/lighttpd/cacert.crt"
Jetzt kann Lighttpd neu gestartet werden:
Postfix TLS
Um Postfix mit SSL zu benutzen, können die Zertifikate und Schlüssel, welche eben generiert wurden, verwendet werden. Dazu werden einfach folgende Dateien nach /etc/ssl-cacert/mail/ kopiert.
cp /etc/ssl/certs/apache_server.csr /etc/ssl-cacert/mail/mail.csr
cp /etc/ssl/certs/apache_server.crt /etc/ssl-cacert/mail/mail.crt
cp /etc/ssl/certs/apache_private.key.decrypted /etc/ssl-cacert/mail/mail.key.decrypted
Jetzt wird noch das root Zertifikat von CAcert benötigt:
chmod a=r /etc/ssl-cacert/mail/cacert.crt
Nun muss nur noch die main.cf Config Datei von Postfix angepasst werden:
smtp_tls_cert_file = /etc/ssl-cacert/mail/mail.crt
smtp_tls_CAfile = /etc/ssl-cacert/mail/cacert.crt
smtpd_tls_key_file = /etc/ssl-cacert/mail/mail.key.decrypted
smtpd_tls_cert_file = /etc/ssl-cacert/mail/mail.crt
smtpd_tls_CAFile = /etc/ssl-cacert/mail/cacert.crt
Nachdem abspeichern muss Postfix neu gestartet werden, damit die Ändernungen wirksam werden.
Courier IMAP-SSL
Courier IMAP-SSL brauch eine PEM Datei, welche aus der key Datei, sowie der beglaubigten CRT Datei von CAcert besteht. Um für Courier ein Zertifikat zu erstellen wird nicht unbedingt ein CAcert CRT benötigt. Deswegen habe ich auch den Weg ohne CAcert gepostet. Weiter unten steht dann die Anleitung für eine PEM mit CAcert CRT.
Courier IMAP-SSL ohne CAcert
Als nächstes wird Courier-IMAP SSL beigebracht. Dazu wird die Datei imapd.cnf bearbeitet:[ req ]
default_bits = 1024
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type
prompt = no
[ req_dn ]
C=DE
ST=BUNDESLAND
L=STADT
O=IRGENDWAS
OU=IRGENDWAS
CN=domain.tld <- Sehr wichtig!
emailAddress=webmaster@domain.tld
Generating a 1024 bit RSA private key
..................................++++++
...............++++++
writing new private key to '/usr/lib/courier/imapd.pem'
-----
1024 semi-random bytes loaded
Generating DH parameters, 512 bit long safe prime, generator 2
This is going to take a long time
.........+................................
Courier IMAP-SSL mit CAcert
PEM Datei erstellen:Als nächstes wird Courier-IMAP SSL mit CAcert CRT beigebracht.
Nun noch in der /etc/courier/imapd-ssl den Pfad zur eben erstellten PEM Datei verweisen:
TLS_TRUSTCERTS=/etc/ssl-cacert/mail/mail.crt
TLS_VERIFYPEER=none
Courier POP3-SSL
Wie bei imap-ssl muss auch Courier pop3-ssl eine PEM Datei sein eigen nennen. Dabei gibt es ebenfalls auch den Standard Weg. Weiter unten ist dann der Weg mit CAcert CRT beschrieben.
Courier POP3-SSL ohne CAcert
Als nächstes wird Courier-POP3 SSL beigebracht. Dazu wird die Datei pop3d.cnf bearbeitet:[ req ]
default_bits = 1024
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type
prompt = no
[ req_dn ]
C=DE
ST=BUNDESLAND
L=STADT
O=IRGENDWAS
OU=IRGENDWAS
CN=domain.tld <- Sehr wichtig!
emailAddress=webmaster@domain.tld
Courier POP3-SSL mit CAcert
PEM Datei erstellen:Ldap SSL mit CAcert
Damit die Adressbücher sicher verwaltet werden können, sollte ldap natürlich auch unter SSL betrieben werden.
Dazu sind nur wenige Schritte nötig, da die Zertifikate bereits erstellt wurden.
cp /etc/ssl-cacert/mail/mail.crt /etc/ssl-cacert/ldap/ldap.crt
cp /etc/ssl-cacert/mail/cacert.crt /etc/ssl-cacert/ldap/cacert.crt
Ohne Cacert kann das Zertifikat folgendermaßen erstellt werden: (TLSCAcertificateFile wird hierbei nicht benötigt)
Als nächstes Ldap sagen, wo genau die Zertifikate liegen:
TLSCAcertificateFile "/etc/ssl-cacert/ldap/cacert.crt"
TLSCertificateFile "/etc/ssl-cacert/ldap/ldap.crt"
TLSCertificateKeyFile "/etc/ssl-cacert/ldap/ldap.key.decrypted"
loglevel 256
#TLSVerifyClient demand
#TLSVerifyClient never
Die Datei ldap.conf muss auch angepasst werden:
TLS_REQCERT demand
TLS_CACERTDIR /etc/ssl/certs/
Nun kann slapd neu gestartet werden:
Links und Quellen
Kommentar schreiben
- Benötigte Felder sind mit einem Stern (*) markiert.





