Ich versuche die .Net System.Security.SslStream-Klasse zu verwenden, um die Serverseite eines SSL/TLS-Streams mit Clientauthentifizierung zu verarbeiten.So geben Sie akzeptierte Zertifikate für die Clientauthentifizierung in .NET an SslStream
den Handshake auszuführen, ich diesen Code verwende:
SslStream sslStream = new SslStream(innerStream, false, RemoteCertificateValidation, LocalCertificateSelectionCallback);
sslStream.AuthenticateAsServer(serverCertificate, true, SslProtocols.Default, false);
Leider ist dies in der SslStream ergibt sich eine Certificate Übertragung der subjectnames aller Zertifikate in meinem CryptoAPI vertrauenswürdigen Stammspeicher enthält.
Ich möchte in der Lage sein, dies zu überschreiben. Es ist für mich keine Option, vom Benutzer die Installation oder das Entfernen von Zertifikaten aus dem vertrauenswürdigen Stammspeicher zu verlangen.
Es sieht so aus, als ob der SslStream SSPI/SecureChannel verwendet, also wenn jemand weiß, wie man das Äquivalent mit dieser API macht, wäre das auch hilfreich.
Irgendwelche Ideen?
Rasmus, ich versuche, das gleiche Problem zu lösen. Haben Sie eine bestimmte Lösung gefunden? – cdpnet
@cdpnet, löste ich es mit der Mono-Implementierung von SslStream. –