Wdrażam serwer SSL w języku C#, używając standardowego protokołu SSLStream.Jak zapewnić łańcuch certyfikatów w usłudze AuthenticateAsServer SSLStream()?
Wszystko jest w porządku do tej pory, ale - AuthenticateAsServer akceptuje tylko pojedynczy certyfikat jako parametr, a ja muszę podać kompletny łańcuch (3 z nich).
Zbudowałem strukturę PKCS12 ze wszystkimi certyfikatami (za pomocą Mono.Security), a następnie zadzwonię pod numer new X509Certificate2(pkcs12.GetBytes())
, ale mimo to klientowi przedstawiono tylko jedną.
Pytanie brzmi: jak to zrobić?
Dzięki!
PS: Potrzebuję przenośnego rozwiązania, które będzie działać zarówno w Mono, jak i .NET w systemie Windows.
Właściwie SslStream może wysyłać łańcuchy certyfikatów (musi to być - tak mówi dokumentacja i można to zrobić w Microsoft.Net). Po drugie, istnieje błąd w Mono, który temu zapobiega (podobno). Po trzecie, nie wszystkie rozszerzenia certyfikatów są obsługiwane przez wszystkich klientów SSL, niestety ... – aldem