.Net System.Security.SslStream 클래스를 사용하여 클라이언트 인증을 사용하여 SSL/TLS 스트림의 서버 쪽을 처리하려고합니다. .NET SslStream에서 클라이언트 인증에 사용할 수있는 인증서를 지정하는 방법
은이 코드를 사용하고, 악수를 수행하려면 다음을 수행SslStream sslStream = new SslStream(innerStream, false, RemoteCertificateValidation, LocalCertificateSelectionCallback);
sslStream.AuthenticateAsServer(serverCertificate, true, SslProtocols.Default, false);
불행하게도,이 내 CryptoAPI를 신뢰할 수있는 루트 저장소에있는 모든 인증서의 SUBJECTNAMES를 포함하는 CertificateRequest를 송신 SslStream을 초래한다.
이 문제를 무시하고 싶습니다. 사용자가 신뢰할 수있는 루트 저장소에 인증서를 설치하거나 제거하도록 요구하는 것은 아닙니다.
SslStream은 SSPI/SecureChannel을 사용하는 것처럼 보이므로 해당 API를 사용하는 사람이 누구인지 알고 있다면 도움이 될 것입니다.
아이디어가 있으십니까?
Rasmus, 나는 동일한 문제를 해결하기 위해 노력하고 있습니다. 특정 해결책을 찾았습니까? – cdpnet
@cdpnet, 나는 SslStream의 Mono 구현을 사용하여 그것을 해결했다. –