Sì e No.
È possibile avere più certificati che hanno tutti lo stesso nome di dominio. Potresti avere un certificato di esempio.org di Comodo e un certificato di esempio di Entrust.org, entrambi validi e ufficiali, nessun problema. Credo che alcuni strumenti di bilanciamento del carico ruoteranno quale viene utilizzato su base per connessione, ma solo in modalità round robin.
Il No sta chiedendo se è possibile selezionare quale certificato utilizzare in base all'URI (/ vs. / criticalpath). Il problema è che l'URI è disponibile solo dopo che la connessione SSL è stata inchiodata usando uno dei due certificati. Quindi non puoi davvero scegliere quale certificato usare in base alle informazioni che puoi avere solo dopo aver scelto il certificato.
Ora, non ho intenzione di dire che il 100% è impossibile. Con Apache, ad esempio, puoi impostare la configurazione SSLCipherSuite su una base per directory quindi non sarei sorpreso se ci fosse un qualche modo per forzare una rinegoziazione che implicherebbe un nuovo certificato. Ma sospetto piuttosto che sia praticamente non implementato anche se è teoricamente possibile. (Apache SSLCertificate * è per server o per-vhost, non per directory).
Appendice : modifiche alla rinegoziazione
Dichiarazione di non responsabilità: non ho fatto nulla di tutto ciò, è un'interpretazione da parte di un laico delle RFC e di altri documenti. Dozzine di persone qui sono molto più qualificate per commentare di me.
Vederò TLS 1.2 poiché è descritto in modo preciso all'interno di RFC 5246 .
Sezione 7.4.1.1, "Il messaggio HelloRequest può essere inviato dal server in qualsiasi momento." Questo dovrebbe indurre il Cliente a rinegoziare la connessione. (Il cliente MAGGIO ignorare quella richiesta, e il server può abbandonare la connessione se il client ignora la richiesta troppo a lungo.)
Una rinegoziazione assomiglia molto a una negoziazione iniziale, sebbene possa passare alcune informazioni dalla precedente negoziazione in avanti per cercare di appianare il percorso (ad esempio, ecco la cifra concordata l'ultima volta ). Quindi il client invia un ClientHello , quindi il server invia un ServerHello , quindi il server invia un certificato server ( 7.4.2).
Quindi la mia lettura della RFC è che, sì, un server può forzare la rinegoziazione di una connessione, inclusa la selezione di un diverso certificato server.
Sarò onesto con te, non so che troverai software esistenti che faranno ciò che vuoi fare. Ti suggerisco di iniziare a giocare con Perl Crypto :: OpenSSL o Python's ssl lib per vedere se puoi provarlo.