Was sind .crt- und .key-Dateien und wie werden sie generiert?

59

Ich habe folgende Konfiguration:

SSLEngine on
SSLCertificateFile /etc/httpd/conf/login.domain.com.crt
SSLCertificateKeyFile /etc/httpd/conf/login.domain.com.key
SSLCipherSuite ALL:-ADH:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP

aber ich weiß nicht, wie man .crtund .keyDateien erzeugt .

Mohammad Ali Akbari
quelle

Antworten:

64

CRT- und Schlüsseldateien stellen beide Teile eines Zertifikats dar, wobei der Schlüssel der private Schlüssel für das Zertifikat und CRT das signierte Zertifikat ist.

Dies ist nur eine der Möglichkeiten, um Zertifikate zu generieren. Eine andere Möglichkeit wäre, beide in einer PEM-Datei oder in einem P12-Container zu haben.

Sie haben mehrere Möglichkeiten, diese Dateien zu generieren. Wenn Sie das Zertifikat selbst signieren möchten, können Sie einfach diesen Befehl eingeben

openssl genrsa 2048 > host.key
chmod 400 host.key
openssl req -new -x509 -nodes -sha256 -days 365 -key host.key -out host.cert

Beachten Sie, dass Ihr Browser bei selbstsignierten Zertifikaten warnt, dass das Zertifikat nicht "vertrauenswürdig" ist, da es nicht von einer Zertifizierungsstelle signiert wurde, die in der Vertrauensliste Ihres Browsers aufgeführt ist.

Von da an können Sie entweder Ihre eigene Vertrauenskette aufbauen, indem Sie Ihre Zertifizierungsstelle einrichten, oder ein Zertifikat von einem Unternehmen wie Verisign oder Thawte kaufen.

Lynxman
quelle
Nach dem Ausführen von "openssl genrsa 1024> host.key" habe ich folgendes im Terminal: "e is 65537 (0x10001)" ist es ein Fehler?
Mohammad Ali Akbari
1
Ja, dies bedeutet, dass openssl den Zufallsstartwert nicht in die von openssl.cnf verwendete Standarddatei schreiben kann. In CentOS / RHEL befindet sich diese Datei standardmäßig in /etc/pki/tls/openssl.cnf. Versuchen Sie in diesem Fall, die gleichen Befehle wie root auszuführen, und sehen Sie, wie es funktioniert.
Lynxman
Ich versuche es als root, aber ich habe wieder "e ist 65537 (0x10001)"
Mohammad Ali Akbari
1
Haben Sie SELinux auf Ihrem Computer aktiviert? Überprüfen Sie / var / log / messages, um
festzustellen,
3
letsencrypt.org ist ein kostenloser SSL-Anbieter. Schauen Sie sich das an, anstatt viel Geld an diese Unternehmen zu zahlen.
Kaan,
6

Dies sind die öffentlichen (.crt) und privaten (.key) Teile eines SSL-Zertifikats. In dieser Frage finden Sie eine Vielzahl relevanter Informationen, z. B. ob Sie ein Zertifikat selbst erstellen oder kaufen möchten.

mad_vs
quelle
Grundlegende Frage, aber - Ich gehe davon aus, dass ich die .key-Datei in meinen ~/.sshOrdner kopieren muss , wenn ich meine CSR-Datei auf meinen SSL-Provider hochlade.
Qasim
1
@ Qasim SSL-Dateien haben nichts mit SSH zu tun (zu dem der .ssh-Ordner gehört).
mad_vs