2011-09-15 39 views
5

Sto implementando un server SSL in C#, utilizzando SSLStream standard.Come fornire la catena di certificati in AuthenticateAsServer() di SSLStream?

Finora tutto va bene, ma - AuthenticateAsServer accetta solo un singolo certificato come parametro, mentre devo fornire la catena completa (3 di essi).

Ho costruito la struttura PKCS12 con tutti i certificati (con l'aiuto di Mono.Security), quindi chiama new X509Certificate2(pkcs12.GetBytes()), ma tuttavia ne viene presentata solo una al client.

Quindi, la domanda è: come si può fare?

Grazie!

PS: Ho bisogno di una soluzione portatile, che funzionerà sia in Mono che .NET su Windows.

risposta

0

L'installazione è corretta. Il server Web utilizza un solo certificato con SslStream (o qualsiasi altra cosa).

Il certificato potrebbe mancare alcune informazioni: l'estensione Authority Information Access del certificato del server deve puntare all'URI in cui verrà scaricato il certificato intermedio.

Queste informazioni sono mancanti?

+0

Beh, in realtà, SslStream è in grado di inviare catene di certificati (deve essere - questo è ciò che dice la documentazione e può essere fatto in Microsoft.Net). Secondo, c'è un bug in Mono che impedisce questo (apparentemente). In terzo luogo, non tutte le estensioni di certificato sono supportate da tutti i client SSL, purtroppo ... – aldem

Problemi correlati