Ho trovato questo articolo e sono incappato nella parte:
So if a client trusts either of the G5 certificates as a trusted root, it will trust any certificate issued by a subordinate CA such as the G3.
Per quanto riguarda la mia comprensione di RFC5280 (Sezione 6.1.1 (d)), la il server deve indicare su quale TrustAnchor il client deve convalidare il percorso del certificato. L'autore del primo articolo (a mia conoscenza) afferma che questa indicazione non è necessaria e / o che il client accetterà il mio certificato se si fida di qualsivoglia delle CA di firma.
Quindi, supponendo di avere uno scenario come questo:
Root A --> intermediate
Root B --> intermediate
intermediate --> my Cert
dove Root A e Root B firmati intermedi e intermedi firmati my Cert . Il Server è configurato per fornire intermedio e mia Cert come percorso del certificato e suggerirà che Root A dovrebbe essere l'Ancoraggio di Trust.
- Un client accetta ovviamente my Cert se ha root A come ancoraggio di fiducia.
- Un client accetterà my Cert se ha solo Root B come ancoraggio di attendibilità?
- Un client accetterà my Cert se ha solo intermedio come ancoraggio di fiducia?
- Un client accetterà my Cert se ha solo una versione autofirmata di intermedia (ma stessa chiave / soggetto pub / privato) come Trust Anchor?
- Qualche risposta cambia se Root A e Root B hanno entrambi lo stesso Soggetto?
- Se una risposta è No, come può un server sapere quale Trust Anchor ha il Cliente, come in quale RootCA indicare per la convalida del percorso?