Sono X.509 nameConstraints sui certificati supportati su OS X?

8

Ho la seguente "catena" di certificati su una macchina di prova in questo momento:

  • Un certificato CA autofirmato, nel mio portachiavi e attendibile & fidato da Firefox.
  • Un certificato CA con il seguente,

    X509v3 Name Constraints: critical
      Permitted:
        DNS:mydomain.net
        DNS:.mydomain.net
    
  • Un certificato non CA con firma di cui sopra.

Il server web di test serve gli ultimi due certificati; il primo è contrassegnato come "trusted" in Keychain in OS X, in Firefox stesso e sul mio lato Linux, anche in FF e in certutil .

Su OS X, Firefox accetta la connessione come sicura; Chrome e Safari no. Sembra che Chrome & Safari utilizza solo ciò che il sistema operativo utilizza per scopi crittografici, quindi qui, OS X è il problema. Visualizzazione del certificato mostra:

"This certificate cannot be used (unrecognized critical extension)"

Extension: Name Constraints (2.5.29.30)
 Critical: YES
     Data: <a sequence of octets>

Sto indovinando perché vedo una sequenza di ottetti e non una bella vista decodificata (come faccio con altre estensioni), che questa è l'estensione che causa l'errore.

Non riesco a farlo funzionare su Linux sotto Chrome (di nuovo funziona bene in FF); tuttavia, non sembra in grado di trovare il certificato radice (mentre su OS X può farlo); Penso che questo sia perché non capisco come accettare il mio certificato autofirmato. (Internet dice certutil , e ho provato praticamente tutte le combinazioni inutili.)

    
posta Thanatos 31.07.2015 - 19:04
fonte

2 risposte

4

No. Apple non supporta questo.

La libreria Trasporto sicuro di Apple non supporta X.509 nameConstraints .

C'è un bug nel database dei bug di Chromium a riguardo. Ed è stato chiuso come WontFix . Lo sviluppatore Ryan Sleevi ha detto questo il 25 agosto 2014 (archiviato here ):

Chrome defers to the OS cryptographic stack for verification.

It's a well-known, long-standing issue that Apple does not implement name constraints. This applies to all applications that use OS X's SSL or certificate verification libraries (e.g. Safari, Curl, Python, etc)

correlati

risposta data 18.08.2015 - 07:59
fonte
-1

Se vuoi fidarti di un certificato di root (i certificati autofirmati sono certificati di root per definizione) su OSX, consulta il seguente post di Apple: link

Tutti e tre i certificati fanno parte di una catena di certificati (ad esempio il certificato del server Web (n. 3) si collega al certificato CA secondario (n. 2) che si associa al certificato radice (n. 1))? Potrebbe essere necessario installare anche la catena di certificati sul server Web, non solo fidarsi del certificato di root sul client. Entrust ha una buona spiegazione su come farlo per vari webserver: link .

    
risposta data 31.07.2015 - 21:29
fonte

Leggi altre domande sui tag