Identifizieren des SSL-Zertifikattyps für die Apache-Konfiguration

Identifizieren des SSL-Zertifikattyps für die Apache-Konfiguration

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

SSLCertificateKeyFileRichtlinie

Beschreibung: 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.pk8enthä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

SSLCertificateChainFileist veraltet

SSLCertificateChainFilewurde mit Version 2.4.8 obsolet, als SSLCertificateFilees 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.

SSLCertificateFileRichtlinie

Beschreibung: 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.crtdirekt von signiert ist Root2023.crtund Root2023.crtim CA-Speicher auf den Clients vorhanden ist, können Sie es t1.crtso 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.crtsich 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

verwandte Informationen