SSL

Aus darkrealm Wiki
Version vom 30. Dezember 2019, 22:21 Uhr von Chris (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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.



Client Zertifikat erstellen