Ich habe SSL-Zertifikatsdateien:
- Root2023.crt
- t1.crt
- t1.pem
- t1.pk8
Wie kann ich auf meinem Apache feststellen, welche dieser Dateien für SSLCertificateFile, SSLCertificateKeyFile und SSLCertificateChainFile usw. verwendet werden sollen?
000-default.conf:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/ssl/t1.crt
SSLCertificateKeyFile /etc/ssl/t1.pem
SSLCertificateKeyFile /etc/ssl/t1.pk8
SSLCertificateChainFile /etc/ssl/Root2023.crt
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Ich versuche diese Konfiguration, aber es funktioniert nicht
AKTUALISIEREN:
openssl x509 -in t1.pem -text -noout
openssl x509 -in t1.crt -text -noout
has similar output like this:
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 508... (0x468dc...8)
Signature Algorithm: sha256WithRSAEncryption
Issuer: CN = rcii
Validity
Not Before: Feb 14 07:34:00 2023 GMT
Not After : Feb 14 07:34:00 2026 GMT
Subject: C = IR, ST = TEH, L = TEH, CN = 172.....
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (4096 bit)
Modulus:
00:c4:.....
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Key Usage:
Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment, Key Agreement
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
X509v3 Subject Alternative Name:
IP Address:172.....
Netscape Comment:
xca certificate
Signature Algorithm: sha256WithRSAEncryption
Signature Value:
34:bd:9
t1.pk8 hat eine Passphrase
openssl rsa -in t1.pk8 -text -noout
Ausgabe:
Private-Key: (4096 bit, 2 primes)
modulus:
00:c4:58:f7:e8:bf:ad:f1:f9:aa:33:e7:3c:b3:48:
publicExponent: 65537 (0x10001)
privateExponent:
65:a0:6b:08:84:15:c3:55:e7:3b:a0:27:31:e0:74:
prime1:
00:f2:e1:d3:4e:3f:2e:b3:69:60:cd:8c:8c:78:91:
prime2:
00:ce:f3:bd:36:44:6e:bd:ae:65:43:62:59:8a:ec:
af:03
exponent1:
00:e1:cd:10:a5:ae:17:bc:b4:3b:4a:dd:5f:ba:b7:
63:0d:e2:0b:18:93:35:8b:3c:df:4b:7e:d5:63:84:
75
exponent2:
1f:b9:21:21:f6:6f:7b:48:06:61:c3:eb:b1:ed:fc:
7d
coefficient:
37:ff:02:03:bf:37:c0:7f:6f:f8:a6:b1:51:9b:b3:
fd:cf:fd:49:e3:c5:fb:6d:47:79:a0:0e:2d:99:50:
eb
Antwort1
Dermod_sslDie Dokumentation der einzelnen Parameter gibt Auskunft über die Erwartungen und beantwortet Ihre Frage mehr oder weniger.
Privat Schlüssel
SSLCertificateKeyFile
RichtlinieBeschreibung: Server-PEM-codierte private Schlüsseldatei
Diese Anweisung verweist auf die PEM-codierte private Schlüsseldatei für den Server oder die Schlüssel-ID über ein konfiguriertes kryptografisches Token. Wenn der enthaltene private Schlüssel verschlüsselt ist, wird der Passphrasendialog beim Start erzwungen.
Dies t1.pk8
enthält die hier erforderlichen Informationen, Sie sollten jedoch das Kennwort entfernen, damit es nicht bei jedem Neustart von Apache abgefragt wird:
openssl rsa -in /etc/ssl/t1.pk8 -out /etc/ssl/t1.key
Die resultierende Datei sollte mit beginnen -----BEGIN PRIVATE KEY----
.
Da die Schlüsseldatei nicht mehr mit einem Passwort geschützt ist, sollten Sie sie mit Dateisystemberechtigungen schützen:
chown root:root /etc/ssl/t1.key
chmod 600 /etc/ssl/t1.key
Zertifikatskette
SSLCertificateChainFile
ist veraltet
SSLCertificateChainFile
wurde mit Version 2.4.8 obsolet, alsSSLCertificateFile
es erweitert wurde, um auch Zwischen-CA-Zertifikate aus der Server-Zertifikatsdatei zu laden.
Das sollte selbsterklärend sein. Entfernen Sie diese Anweisung vollständig aus Ihrer Konfiguration.
SSLCertificateFile
RichtlinieBeschreibung: Server-PEM-kodierte X.509-Zertifikatsdatendatei oder Token-ID
Diese Anweisung verweist auf eine Datei mit Zertifikatsdaten im PEM-Format oder auf die Zertifikatskennung über ein konfiguriertes kryptografisches Token. Bei Verwendung einer PEM-Datei muss die Datei mindestens ein Endentitätszertifikat (Leaf-Zertifikat) enthalten. - -
Die Dateien können auch Zwischenzertifikate der Zertifizierungsstelle enthalten, die vom Blatt bis zur Wurzel sortiert sind.
Wenn Ihr t1.crt
direkt von signiert ist Root2023.crt
und Root2023.crt
im CA-Speicher auf den Clients vorhanden ist, können Sie es t1.crt
so verwenden, wie es ist.
Wenn Sie irgendwelche brauchendazwischenliegendZertifikate, sollten Sie eine kombinierte Datei erstellen, die alle Zertifikate vom Blatt bis zur Wurzel enthält. Wenn es Root2023.crt
sich um eine Datei handelt, die die Zwischenzertifikate enthält und beide bereits im PEM-Format vorliegen, können Sie sie wie folgt kombinieren:
cat /etc/ssl/t1.crt /etc/ssl/Root2023.crt > /etc/ssl/fullchain.pem
Die resultierende Datei sollte wie folgt strukturiert sein:
-----BEGIN CERTIFICATE-----
Base 64 encoded contents of the leaf certificate.
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base 64 encoded contents of an intermediate certificate.
-----END CERTIFICATE-----
Gefolgt von der erforderlichen Menge an Zwischenprodukten (und optional dem CA-Zertifikat).
Aufbau
Wenn diese Anweisungen Ihren Anforderungen entsprechen und Sie sie befolgt haben, sieht Ihre Konfiguration folgendermaßen aus:
SSLEngine on
SSLCertificateFile /etc/ssl/fullchain.pem
SSLCertificateKeyFile /etc/ssl/t1.key