Lighttpd-Client-Zertifikatauthentifizierung

Lighttpd-Client-Zertifikatauthentifizierung

Ich versuche, die Client-Zertifikatauthentifizierung mit lighttpd unter Verwendung meiner eigenen internen Windows-CAs zu aktivieren. Haftungsausschluss: Ich bin noch sehr neu bei PKI :D

Ich habe in meinem Homelab eine Offline-Stammzertifizierungsstelle und eine untergeordnete Zertifizierungsstelle. Ich habe die Stammzertifizierungsstelle bereits unter den vertrauenswürdigen Zertifizierungsstellen in Firefox importiert. Für das Client-Zertifikat habe ich mit OpenSSL eine CSR generiert, die ich mit meiner untergeordneten Zertifizierungsstelle unter Verwendung einer Vorlage signiert habe, bei der die Client-Authentifizierung aktiviert ist. Dieses Client-Zertifikat wird auch als PFX-Datei in Firefox importiert. Außerdem habe ich lighttpd wie folgt konfiguriert:

ssl.pemfile = "/etc/lighttpd/certs/lighttpd.pem"
ssl.ca-file = "/etc/lighttpd/certs/ca.cer"
ssl.verifyclient.activate = "enable"
ssl.verifyclient.enforce = "enable"
ssl.verifyclient.username = "SSL_CLIENT_S_DN_CN"

Ich erhalte die folgende Fehlermeldung:

Firefox-Fehler:

Peer does not recognize and trust the CA that issued your certificate.
Error code: SSL_ERROR_UNKNOWN_CA_ALERT

Lighttpd-Fehler:

SSL: 1 error:14089086:SSL routines:ssl3_get_client_certificate:certificate verify failed 
SSL: 1 -1 error:140E0197:SSL routines:SSL_shutdown:shutdown while in ini

Andere:

Acceptable client certificate CA names
DC = org, DC = homelab, CN = homelab-V-2019-ICA-CA
Client Certificate Types: RSA sign, DSA sign, ECDSA sign

CA.cer

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            5a:00:00:00:02:47:18:65:49:6e:51:2a:56:00:00:00:00:00:02
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: CN=V-2019-RCA-CA
        Validity
            Not Before: Nov 24 06:00:19 2020 GMT
            Not After : Nov 24 06:10:19 2021 GMT
        Subject: DC=org, DC=homelab, CN=homelab-V-2019-ICA-CA
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)

Client-Zertifikat

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            56:00:00:00:23:c0:0e:f2:75:d8:de:ef:65:00:00:00:00:00:23
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: DC = org, DC = homelab, CN = homelab-V-2019-ICA-CA
        Validity
            Not Before: Dec  1 23:54:33 2020 GMT
            Not After : Nov 24 06:10:19 2021 GMT
        Subject: C = US, ST = Rhode Island, L = Providence, O = HOMELAB, OU = HOMELAB, CN = homelab-V-2019-ICA-CA.homelab.org
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (2048 bit)
...
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication, TLS Web Client Authentication
            1.3.6.1.4.1.311.21.10: 

Ich bin mir nicht sicher, wie es weitergehen soll. Für jede Hilfe oder jeden Artikel wäre ich sehr dankbar. :)

Antwort1

Ich habe herausgefunden, was das Problem ist, falls jemand darauf stößt. Jetzt, wo ich darüber nachdenke, ist es ziemlich offensichtlich. Ich habe das untergeordnete CA-Zertifikat verwendet, das ich von der ADCS-Webregistrierungsseite heruntergeladen habe. Stattdessen habe ich das Stamm-CA-Zertifikat verwendet, das ich aus dem untergeordneten CA-Zertifikat exportiert habe, indem ich auf Zertifizierungspfad -> Zertifikat anzeigen (auf Stamm-CA) -> Details -> In Datei kopieren -> Base-64-codiertes X.509 geklickt habe. Ich habe dies für diese Zeile verwendet.

ssl.ca-Datei = "/etc/lighttpd/certs/ca.cer"

Ich habe das Client-Zertifikat in Firefox importiert und es funktioniert einwandfrei.

verwandte Informationen