Howto-erstellen eines Zertifikats mit openssl einschließlich einer CRL distribution point?
Ich habe Probleme mit openssl erstellen Sie ein X. 509-Zertifikat enthält crl-Verteilungspunkt für die Prüfung.
Ich habe die Unterlagen gefunden und die Konfiguration von Einstellungen crlDistributionPoints für diesen Zweck. Leider openssl erzeugt immer x509-version 1-Zertifikate ohne statt version 3 Zertifikate mittels crl distribution point.
Ich bin mir sicher, dass etwas falsch ist mit meinem Befehl oder die Konfiguration, aber Lesen Sie die Dokumentation sorgfältig durch, und spielen, um mit der Konfiguration nicht helfen. Andere Einstellungen aus der Konfigurationsdatei werden als ich bin sicher, dass die Datei selbst wird von openssl.
Ich bin mit dem Befehl
openssl x509 -req -in $NAME.csr -out certs/$NAME.pem -days 3650 -CAcreateserial -CA cacert.pem -CAkey private/cakey.pem -CAserial serial
Ich benutze folgende Konfigurationsdatei:
[ ca ]
default_ca = CA_default
[ CA_default ]
dir = /home/ca
database = $dir/index.txt
new_certs_dir = $dir/newcerts
certificate = $dir/cacert.pem
serial = $dir/serial
private_key = $dir/private/cakey.pem
RANDFILE = $dir/private/.rand
default_days = 3650
default_crl_days = 30
default_md = md5
policy = policy_any
email_in_dn = no
name_opt = ca_default
cert_opt = ca_default
copy_extensions = none
x509_extensions = extensions_section
[ extensions_section ]
crlDistributionPoints=URI:http://example.com/crl.pem
[ policy_any ]
countryName = supplied
stateOrProvinceName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
Irgendwelche Ideen?
InformationsquelleAutor Markus Kreusch | 2012-08-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
openssl x509
Lesen nicht die extensions, die Konfiguration, die du angegeben hast oben in deiner config-Datei.Können Sie die
crlDistributionPoints
in Ihre Bescheinigung in (mindestens) diese zwei Möglichkeiten:Verwenden
openssl ca
eher alsx509
zum signieren der Anforderung. Pass-config
als erforderlich, wenn Sie die config ist nicht in einem Standard-Speicherort. Die meisten von Ihnen bereitgestellte Befehl kann verwendet werden, wenn Sie das weglassen der Optionen beginnend mit-CA
openssl ca -in $NAME.csr -out certs/$NAME.pem -days 3650
Verwenden Sie den Befehl wie Sie haben in Ihrer Frage, aber zuerst erstellen Sie eine Datei mit Ihrem v3 Erweiterungen (ie
mycrl.cnf
); fügen Sie die option-extfile mycrl.cnf
auf Ihren Anruf, umopenssl x509
Wo
mycrl.cnf
enthält die folgenden:crlDistributionPoints=URI:http://example.com/crl.pem
openssl ca
ist wohl der Befehl besser geeignet, um was Sie wollen zu tun, da die meisten Beispiele finden Sie verlassen sich auf Befehl nutzt verschiedene Einstellungen in der openssl.cnf für v3-Erweiterungen.Nebenbei: es ist nicht ratsam MD5 message-digest-in-Zertifikate.
Zuvor SHA1-wurde die vorgeschlagene alternative zu MD5, aber auch das ist jetzt veraltet. Können Sie den message digest verwendet in Anfragen und Signatur-Operationen, und Sie können die Liste der unterstützten Hashes mit
openssl list-message-digest-commands
.Als ein Beispiel, können Sie mit SHA256 beim signieren einer Anfrage mit der
-md sha256
optionopenssl ca
( oder Einstellungdefault_md=sha256
in Ihrem[CA_default]
config-Abschnitt).InformationsquelleAutor Eli Heady