SSL Certificate Authority: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Pascal (Diskussion | Beiträge) |
Pascal (Diskussion | Beiträge) |
||
| Zeile 124: | Zeile 124: | ||
[[Kategorie:HOWTO]] | [[Kategorie:HOWTO]] | ||
[[Kategorie:SSL]] | [[Kategorie:SSL]] | ||
| + | |||
| + | = Links = | ||
| + | * [https://wiki.archlinux.org/index.php/SSL OpenSSL on ArchLinux Wiki] | ||
Version vom 3. August 2011, 08:21 Uhr
CA Erstellen
OpenSSL Configuration
/etc/ssl/openssl.cnf
Globale Variablen
DIR= . # Nützliches Macro für Pfaderweiterung
RANDFILE= ${DIR}/private/.rnd # Entropy Quelle
default_md= sha1 # Standard message digest
CA Abschnitt
[ ca ]
default_ca= dft_ca # Konfigurationsdateien können mehr als eine CA enthalten
# Abschnitt für verschiedene Szenarien.
[ dft_ca ]
certificate= ${DIR}/cacert.pem # Das CA Zertifikat.
database= ${DIR}/index.txt # Datenbank zur Prüfung gültiger/zurückgezogener Zertifikate.
new_certs_dir= ${DIR}/newcerts # Kopieen der signierten Zertifikate
private_key= ${DIR}/private/cakey.pem # Der CA Schlüssel.
serial= ${DIR}/serial # Sollte mit der Nächsten Zertifikats S/N veröffentlicht werden (Hex)
# Dies regelt die Anzeige der Zertifikate während der Signierung
name_opt= ca_default
cert_opt= ca_default
default_days= 365 # Wie lange soll das Zertifikat gültig sein
default_crl_days=30 # Das selbe für die CRL.
policy= dft_policy # Die Standardrichtlinie
x509_extensions=cert_v3 # Für v3 Zertifikate
[ dft_policy ]
# 'supplied' - Parameter muss im Zertifikat enthalten sein.
# 'match' - Parameter muss mit CA Wert übereinstimmen.
# 'optional' - Parameter ist komplett Optional.
C= supplied # Land
ST= supplied # Region
L= optional # Ort
O= supplied # Organisation
OU= optional # Abteilung
CN= supplied # Common name
[ cert_v3 ]
# Mit Ausnahme von 'CA:FALSE' gibt es PKIX Empfehlungen für Endbenutzer-Zertifikate,
# welche nicht in der Lage sein sollten weitere Zertifikate zu unterschreiben.
# 'CA:FALSE' ist explizit, weil es sonst zu Softwareproblemen führen kann.
subjectKeyIdentifier= hash
basicConstraints= CA:FALSE
keyUsage= nonRepudiation, digitalSignature, keyEncipherment
nsCertType= client, email
nsComment= "OpenSSL Generated Certificate"
authorityKeyIdentifier=keyid:always,issuer:always
req Einstellungen
[ req ]
# Default bit encryption and out file for generated keys.
default_bits= 1024
default_keyfile=private/ca.key
string_mask= utf8only # Lasse nur utf8 Strings in abfragen/ca feldern zu.
prompt= no # Verlange keine extra Bestätigung der Parameter.
CA req Einstellungen
distinguished_name=ca_dn # Distinguishedname Inhalt.
x509_extensions=ca_v3 # Zur Generierung des CA Zertifikats.
[ ca_dn ]
# CN isn't needed for CA certificates
C= de
ST= zweibrücken
O= xinux
[ ca_v3 ]
subjectKeyIdentifier= hash
# PKIX empfiehlt das dies ebenso den 'crucial' Wert anzugeben,
# jedoch haben einige Programme immernoch Probleme damit.
basicConstraints= CA:TRUE
keyUsage= cRLSign, keyCertSign
nsCertType= sslCA
nsComment= "OpenSSL Generated CA Certificate"
authorityKeyIdentifier=keyid:always,issuer:always
Endnutzer req Einstellungen
distinguished_name=ca_dn # Distinguishedname Inhalt.
req_extensions=req_v3 # Zur Generierung des CA Zertifikats.
[ ca_dn ]
C= de
ST= zweibruecken
O= xinux
CN= test.local
[ v3_req ]
basicConstraints= CA:FALSE
keyUsage= nonRepudiation, digitalSignature, keyEncipherment
Zertifikate erstellen
mkdir -m0700 private
touch private/test.key
chmod 0600 private/test.key
openssl genpkey -algorithm RSA -out private/test.key
openssl genpkey -pass stdin -algorithm RSA -out private/test.key