Autenticación del certificado de cliente Lighttpd

Autenticación del certificado de cliente Lighttpd

Estoy intentando habilitar la autenticación de certificados de cliente con lighttpd usando mis propias CA internas de Windows. Descargo de responsabilidad: todavía soy muy nuevo en PKI :D

Tengo una CA raíz fuera de línea y una CA subordinada en mi laboratorio doméstico. Ya importé la CA raíz a Firefox bajo CA confiables. Para el certificado de cliente, utilicé openssl para generar una CSR que firmé con mi CA subordinada usando una plantilla que tiene habilitada la autenticación de cliente. Este certificado de cliente también se importa a Firefox como un archivo pfx. También configuré lighttpd de la siguiente manera:

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"

Obtuve el siguiente error:

Error de Firefox:

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

Error de Lighttpd:

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

Otro:

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)

Certificado de cliente

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: 

No estoy seguro de adónde ir desde aquí. Cualquier ayuda o artículo será muy apreciado. :)

Respuesta1

Me imaginé cuál sería el problema si alguien se encuentra con esto. Es algo obvio ahora que lo pienso. Estaba usando el certificado de CA subordinado que descargué de la página de inscripción web de ADCS. En su lugar, utilicé el certificado de CA raíz que exporté desde el certificado de CA subordinado haciendo clic en Ruta de certificación -> Ver certificado (en CA raíz) -> Detalles -> Copiar a archivo -> X.509 codificado en base 64). Usé esto para esta línea.

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

Importé el certificado del cliente a Firefox y funciona bien.

información relacionada