SSL: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Chris (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| (31 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
== Eigene CA erstellen == | |||
Verzeichnisse erstellen: | |||
<pre> | |||
mkdir -p /etc/ssl/darkrealm/CA/private | |||
mkdir -p /etc/ssl/darkrealm/CA/newcerts | |||
touch /etc/ssl/darkrealm/CA/index.txt | |||
echo 0000 > /etc/ssl/darkrealm/CA/serial | |||
</pre> | |||
im /etc/ssl/darkrealm verzeichnis ausführen: | |||
openssl - | <pre> | ||
openssl req -config darkrealm.cnf -new -x509 -days 3650 -keyout CA/private/ca.key -out CA/ca.crt | |||
</pre> | |||
req -new : Neue Zertifikatsanfrage | *req : | ||
- | *-config : die angegebene Konfigurationsdatei benutzen | ||
- | *-new : Neue Zertifikatsanfrage | ||
- | *-x509: Gebe ein selbstsigniertes Zertifikat anstatt einer Zertifikatsanfrage aus | ||
*-days 3650 : Gültigkeitsdauer | |||
*-keyout : Privaten Schlüssel in diese Datei ausgeben | |||
*-out : Zertifikat in Datei ausgeben | |||
== Webserver Certificate Request erstellen == | |||
openssl openssl ca -out cert.pem -config ./openssl.cnf - | im /etc/ssl/darkrealm Verzeichnis ausführen: | ||
<pre> | |||
openssl req -config darkrealm.cnf -new -nodes -keyout apache.key -out apache.csr | |||
</pre> | |||
*req: | |||
*-config: Die angegebene Konfigurationsdatei benutzen | |||
*-new : Neue Zertifikatsanfrage | |||
*-nodes : Nicht mit Passphrase verschlüsseln | |||
*-keyout : Privaten Schlüssel in diese Datei ausgeben | |||
*-out : Zertifikatsanfrage in diese Datei ausgeben | |||
== Webserver Certificate Request signieren == | |||
im /etc/ssl/darkrealm Verzeichnis ausführen: | |||
<pre> | |||
openssl ca -config darkrealm.cnf -out apache.crt -in apache.csr | |||
</pre> | |||
Danach das Zertifikat und den privaten Schlüssel nach /etc/ssl/apache2 kopieren. | |||
Abschließend muss noch das CA-Zertifikat (ca.crt) in den jeweiligen Browser importiert werden. | |||
== LDAP Server Certificate Request erstellen == | |||
Anmerkung : musste sämtliche nsCert* Einträge aus darkrealm.cnf entfernen daß jxplorer via SSL auf den ldap server zugreifen konnte. | |||
im /etc/ssl/darkrealm Verzeichnis ausführen: | |||
<pre> | |||
openssl req -config darkrealm.cnf -new -nodes -keyout ldap.key -out ldap.csr | |||
</pre> | |||
== LDAP Server Certificate Request signieren == | |||
<pre> | |||
openssl ca -config darkrealm.cnf -out ldap.crt -in ldap.csr | |||
</pre> | |||
== Bearbeitete openssl.cnf == | |||
<pre> | |||
dir = ./demoCA # TSA root directory | |||
serial = $dir/tsaserial # The current serial number (mandatory) | |||
crypto_device = builtin # OpenSSL engine to use for signing | |||
signer_cert = $dir/tsacert.pem # The TSA signing certificate | |||
# (optional) | |||
certs = $dir/cacert.pem # Certificate chain to include in reply | |||
# (optional) | |||
signer_key = $dir/private/tsakey.pem # The TSA private key (optional) | |||
default_policy = tsa_policy1 # Policy if request did not specify it | |||
# (optional) | |||
other_policies = tsa_policy2, tsa_policy3 # acceptable policies (optional) | |||
digests = md5, sha1 # Acceptable message digests (mandatory) | |||
accuracy = secs:1, millisecs:500, microsecs:100 # (optional) | |||
clock_precision_digits = 0 # number of digits after dot. (optional) | |||
ordering = yes # Is ordering defined for timestamps? | |||
# (optional, default: no) | |||
tsa_name = yes # Must the TSA name be included in the reply? | |||
# (optional, default: no) | |||
ess_cert_id_chain = no # Must the ESS cert id chain be included? | |||
# (optional, default: no) | |||
</pre> | |||
== .pem nach .p12 konvertieren == | |||
<pre> | |||
openssl pkcs12 -export -inkey key.pem -in cert.pem -out file.p12 -name "TEST" | |||
</pre> | |||
* pkcs12 : pkcs12 facility | |||
* -export: pkcs12 Datei generieren und nicht parsen | |||
* -inkey : Schlüssel | |||
* -in : Original Zertifikat | |||
* -out : Ausgabezertifikat | |||
* -name : Freundlicher Name | |||
== CRL erstellen (oder updaten) == | |||
Zuerst im darkrealm/CA Verzeichnis crlnumber erstellen mit echo 00 > crlnumber | |||
<pre> | |||
openssl ca -config darkrealm.cnf -gencrl -out crl.pem | |||
</pre> | |||
=== CA-Zertifikat und CRL zusammenfügen (für Dovecot) === | |||
cat ca.crt crl.pem > ca+crl.pem | |||
=== Zertifikat revoken === | |||
<pre> | |||
openssl ca -config /etc/ssl/darkrealm/darkrealm.cnf -revoke /etc/ssl/darkrealm/CA/newcerts/<zertifikat>.pem | |||
</pre> | |||
== Zertifikat erneuern == | |||
=== Neuen CSR aus altem Zertifikat generieren === | |||
<pre> | |||
openssl x509 -x509toreq -in <abgelaufenes Zertifikat>.crt -out <abgelaufenes Zertifikat>2.csr -signkey <abgelaufenes Zertifikat>.key | |||
</pre> | |||
=== altes Zertifikat revoken === | |||
<pre> | |||
openssl ca -config darkrealm.cnf -revoke <abgelaufenes Zertifikat>.crt | |||
</pre> | |||
=== CRL neu generieren === | |||
<pre> | |||
openssl ca -config darkrealm.cnf -gencrl -out crl.crt | |||
</pre> | |||
=== Neuen CSR signieren === | |||
<pre> | |||
openssl ca -config darkrealm.cnf -out <neues Zertifikat>2.crt -in <neues Zertifikat>2.csr -extensions server_cert | |||
</pre> | |||
=== Neues Zertifikat über das alte kopieren === | |||
<pre> | |||
mv <neues Zertifikat>2.crt <neues Zertifikat>.crt | |||
</pre> | |||
Anschließend verwendeten Daemon neu starten. | |||
== Client Zertifikat erstellen == | |||
Aktuelle Version vom 30. Dezember 2019, 22:21 Uhr
Eigene CA erstellen
Verzeichnisse erstellen:
mkdir -p /etc/ssl/darkrealm/CA/private mkdir -p /etc/ssl/darkrealm/CA/newcerts touch /etc/ssl/darkrealm/CA/index.txt echo 0000 > /etc/ssl/darkrealm/CA/serial
im /etc/ssl/darkrealm verzeichnis ausführen:
openssl req -config darkrealm.cnf -new -x509 -days 3650 -keyout CA/private/ca.key -out CA/ca.crt
- req :
- -config : die angegebene Konfigurationsdatei benutzen
- -new : Neue Zertifikatsanfrage
- -x509: Gebe ein selbstsigniertes Zertifikat anstatt einer Zertifikatsanfrage aus
- -days 3650 : Gültigkeitsdauer
- -keyout : Privaten Schlüssel in diese Datei ausgeben
- -out : Zertifikat in Datei ausgeben
Webserver Certificate Request erstellen
im /etc/ssl/darkrealm Verzeichnis ausführen:
openssl req -config darkrealm.cnf -new -nodes -keyout apache.key -out apache.csr
- req:
- -config: Die angegebene Konfigurationsdatei benutzen
- -new : Neue Zertifikatsanfrage
- -nodes : Nicht mit Passphrase verschlüsseln
- -keyout : Privaten Schlüssel in diese Datei ausgeben
- -out : Zertifikatsanfrage in diese Datei ausgeben
Webserver Certificate Request signieren
im /etc/ssl/darkrealm Verzeichnis ausführen:
openssl ca -config darkrealm.cnf -out apache.crt -in apache.csr
Danach das Zertifikat und den privaten Schlüssel nach /etc/ssl/apache2 kopieren.
Abschließend muss noch das CA-Zertifikat (ca.crt) in den jeweiligen Browser importiert werden.
LDAP Server Certificate Request erstellen
Anmerkung : musste sämtliche nsCert* Einträge aus darkrealm.cnf entfernen daß jxplorer via SSL auf den ldap server zugreifen konnte.
im /etc/ssl/darkrealm Verzeichnis ausführen:
openssl req -config darkrealm.cnf -new -nodes -keyout ldap.key -out ldap.csr
LDAP Server Certificate Request signieren
openssl ca -config darkrealm.cnf -out ldap.crt -in ldap.csr
Bearbeitete openssl.cnf
dir = ./demoCA # TSA root directory serial = $dir/tsaserial # The current serial number (mandatory) crypto_device = builtin # OpenSSL engine to use for signing signer_cert = $dir/tsacert.pem # The TSA signing certificate # (optional) certs = $dir/cacert.pem # Certificate chain to include in reply # (optional) signer_key = $dir/private/tsakey.pem # The TSA private key (optional) default_policy = tsa_policy1 # Policy if request did not specify it # (optional) other_policies = tsa_policy2, tsa_policy3 # acceptable policies (optional) digests = md5, sha1 # Acceptable message digests (mandatory) accuracy = secs:1, millisecs:500, microsecs:100 # (optional) clock_precision_digits = 0 # number of digits after dot. (optional) ordering = yes # Is ordering defined for timestamps? # (optional, default: no) tsa_name = yes # Must the TSA name be included in the reply? # (optional, default: no) ess_cert_id_chain = no # Must the ESS cert id chain be included? # (optional, default: no)
.pem nach .p12 konvertieren
openssl pkcs12 -export -inkey key.pem -in cert.pem -out file.p12 -name "TEST"
- pkcs12 : pkcs12 facility
- -export: pkcs12 Datei generieren und nicht parsen
- -inkey : Schlüssel
- -in : Original Zertifikat
- -out : Ausgabezertifikat
- -name : Freundlicher Name
CRL erstellen (oder updaten)
Zuerst im darkrealm/CA Verzeichnis crlnumber erstellen mit echo 00 > crlnumber
openssl ca -config darkrealm.cnf -gencrl -out crl.pem
CA-Zertifikat und CRL zusammenfügen (für Dovecot)
cat ca.crt crl.pem > ca+crl.pem
Zertifikat revoken
openssl ca -config /etc/ssl/darkrealm/darkrealm.cnf -revoke /etc/ssl/darkrealm/CA/newcerts/<zertifikat>.pem
Zertifikat erneuern
Neuen CSR aus altem Zertifikat generieren
openssl x509 -x509toreq -in <abgelaufenes Zertifikat>.crt -out <abgelaufenes Zertifikat>2.csr -signkey <abgelaufenes Zertifikat>.key
altes Zertifikat revoken
openssl ca -config darkrealm.cnf -revoke <abgelaufenes Zertifikat>.crt
CRL neu generieren
openssl ca -config darkrealm.cnf -gencrl -out crl.crt
Neuen CSR signieren
openssl ca -config darkrealm.cnf -out <neues Zertifikat>2.crt -in <neues Zertifikat>2.csr -extensions server_cert
Neues Zertifikat über das alte kopieren
mv <neues Zertifikat>2.crt <neues Zertifikat>.crt
Anschließend verwendeten Daemon neu starten.