2014-10-23 2 views
0

localhost가 아닌 피어 - 투 - 피어 통신을 위해 상호 SSL 인증을 수행해야했습니다. 나는 ValidateServerCertificate 및 ValidateClientCertificate 콜백을 갖는 SslStream 클래스와 함께 Microsoft.Net 소켓 통신 클래스를 사용하여이 작업을 수행하고 있습니다.소켓 통신을 사용하는 .NET에서 피어 - 피어 mutal SSL 인증

이 들어 나는 하나의 루트 인증서 서버 인증서 및 클라이언트 인증서로 구성된 자체 서명 된 인증서를 만들었습니다. 저도 같은 생성을 위해 사용하는 명령입니다.

루트 -> Makecert.exe를 -n "CN = abc.com"-r -pe -a SHA512 -len 4096 -cy 기관 -sv RootCert.pvk RootCert.cer -> pvk2pfx -pvk RootCert .pvk -spc RootCert.cer -pfx RootCert.pfx -po test123

서버 -> Makecert.exe를 -pe -n "CN = abc.com"-a가 -sky 교환 -eku 1.3.6.1을 SHA512 .5.5.7.3.1 -ic RootCert.cer -iv RootCert.pvk -sp "Microsoft RSA SChannel 암호화 공급자"-sy 12 -sv ServerCert.pvk ServerCert.cer -> pvk2pfx -pvk ServerCert.pvk -spc ServerCert.cer -pfx ServerCert.pfx -po test123

클라이언트 -> Makecert.exe를 -pe -n "CN = abc.com"-a SHA512 -sky 교환 -eku 1.3.6.1.5.5.7.3.2 -ic RootCert.cer -iv RootCert. 12 -sv ClientCert.pvk ClientCert.cer -sy PVK -sp "마이크로 소프트 RSA 보안 채널 암호화 공급자"-> pvk2pfx -pvk ClientCert.pvk -spc ClientCert.cer -pfx ClientCert.pfx -po test123

모든 생성 후 필요한 인증서를 위에서 설명한대로 mmc 콘솔에 추가합니다. SslPolicyErrors 내가 RemoteCertificate 이름이 일치하지

을 알리는 오류가 발생하고이를하는 동안 내가이 긴 샷을 알고, 내가 X509Certificate2 클래스를 사용하고 상호 인증을 확인하려면하지만 사람에 나에게 어떤 포인터를 제공 할 수 있습니다 똑같다.

답변

0

안녕하세요, 제가 게시 한 것과 동일한 문제에 여전히 직면하고 계시다면 아래 링크를 클릭하십시오. 우리 팀이 작업했으며 아래의 솔루션을 찾았습니다. 도움이되기를 바랍니다.

SSL mutual authentication Certificate issue