Firefox si rifiuta di utilizzare il certificato X509, lamentando "Cound non verificare questo certificato per ragioni sconosciute"

0

Mi sono imbattuto in questa domanda e risposta . Ho lo stesso problema dell'OP e mi dispiace segnalare che la risposta proposta non lo risolve. Il certificato in questione è stato verificato da OpenSSL-1.0.2h:

$ openssl verify -verbose -CAfile Forest\ CA\ 2\ RSA.pem -purpose sslclient yubi-sign-test.pem
yubi-sign-test.pem: OK

Ecco il suo contenuto:

 X509v3 extensions:
    X509v3 Basic Constraints: critical
        CA:FALSE
    X509v3 Key Usage: critical
        Digital Signature, Non Repudiation
    X509v3 Subject Alternative Name:
        email:[email protected]
    X509v3 Subject Key Identifier:
        75:35:D2:A3:47:A2:A1:20:AC:A3:90:DD:15:C2:A5:96:73:2B:75:9D
    X509v3 Extended Key Usage:
        TLS Web Client Authentication, Code Signing, 1.3.6.1.4.1.311.10.3.12, 1.2.840.113583.1.1.5, E-mail Protection, Microsoft Smartcardlogin
 Signature Algorithm: sha256WithRSAEncryption

Ecco il contenuto della CA:

    X509v3 extensions:
        X509v3 Basic Constraints: critical
            CA:TRUE, pathlen:4
        X509v3 Subject Key Identifier: critical
            BD:1C:AE:9E:49:AE:68:B3:EC:7C:1E:AE:6A:CC:87:CB:F2:49:9E:A2
        X509v3 Key Usage: critical
            Digital Signature, Non Repudiation, Certificate Sign, CRL Sign
        X509v3 Extended Key Usage: critical
            Time Stamping, OCSP Signing
        X509v3 Authority Key Identifier:
            keyid:BD:1C:AE:9E:49:AE:68:B3:EC:7C:1E:AE:6A:CC:87:CB:F2:49:9E:A2

Tuttavia, l'attuale Firefox stabile (47.0) mi sta dando lo stesso messaggio e rifiuta di usare quel certificato per stabilire una sessione TLS (non lo offre nemmeno tra i certificati disponibili). Mostra questo certificato (tra gli altri) in Prefes- > Advanced- > Visualizza certificati.

Inutile dire che la CA che ha emesso questo certificato è stata importata in "Autorità" e contrassegnata come attendibile per tutte e tre le opzioni.

L'unica cosa possibile a cui potrei pensare: questa CA non offre CRL o OCSP, quindi né i certificati che emette hanno riferimenti a CRL o OCSP.

Un suggerimento che ho ricevuto è stato:

Welcome on Security SE. Do not hesitate to post your question as a new question referencing this one. Details of both the CA and end-user certificates can be helpful. However, before doing so you should try to add the "Key encipherment" key usage to the certificate as a first step. In case it does not help, try to add "Data encipherment" and remove "Non repudiation" (or disable the "Critical" flag on these extensions).

Il problema di cui sopra è che abbiamo regole abbastanza rigide sugli attributi di utilizzo della chiave, in particolare sui certificati che vengono forniti su token hardware. Pertanto, non è possibile per noi, ad esempio, rimuovere "Non ripudio" da un certificato di firma digitale o aggiungere "chiave crittografica" ad esso. (Anche nel caso improbabile che la stupida versione corrente di Firefox possa funzionare con un tale certificato, non saremmo in grado di implementarlo.)

Apprezzerei qualsiasi aiuto.

    
posta Mouse 24.06.2016 - 23:39
fonte

1 risposta

1

Quando si utilizzano i certificati client, il server invia un elenco di CA accettabile che ha emesso il certificato client. In base a questo elenco, il browser seleziona il certificato client corrispondente. Se non è presente alcun certificato client emesso dalla CA prevista dal server, viene visualizzato il messaggio di errore. Quindi il problema potrebbe non essere il certificato stesso, ma semplicemente che il server si aspetta solo certificati emessi da una CA diversa.

Per verificare quale CA il server si aspetta di utilizzare per il certificato client, è possibile connettersi a openssl:

 $ openssl s_client -connect host:443 -servername host
 ...
 Acceptable client certificate CA names
 /CN=ACEDICOM Root/OU=PKI/O=EDICOM/C=ES
 ...
    
risposta data 25.06.2016 - 07:10
fonte

Leggi altre domande sui tag