Durante la convalida del server SSL, sembra che gli unici campi dei certificati X509 trovati negli archivi fiduciari effettivamente utilizzati siano il "Nome comune" e la "Chiave pubblica".
Non sto parlando di alcuna specifica implementazione di convalida dei certificati, ma usiamo OpenSSL come esempio.
Sembra che i normali controlli che avvengono su certificati CA intermedi non si applichino a quelli presenti all'interno dell'archivio di ancoraggio, ad esempio che i vincoli di base non sono controllati, le date non sono controllate, la debolezza della cifratura non viene controllata ecc.
Quindi ho due domande:
- Il comportamento che ho descritto è corretto? Ci sono altri campi in uso?
- Questi "extra" devono essere controllati in base agli RFC pertinenti? Da una lettura informale, sembra che tutto nel negozio di ancoraggio sia a priori fidato; nessun ulteriore controllo dovrebbe essere fatto. Ciò significa che un certificato CA privo della CA: il vero vincolo può emettere altri certificati e costituire la radice di una catena valida. Significa anche che un certificato CA che è scaduto può anche essere root di una catena valida. Pensieri?