SSL 소켓을 제공하기 위해 SslStream을 사용하는 .Net 서버 응용 프로그램에서 작업하고 있습니다. libcurl 기반 클라이언트와 같은 일부 클라이언트에서 작동하지만 다른 클라이언트는 중간 인증서가 없기 때문에 오류가 발생합니다. 중간 인증서를 SslStream 또는 X509Certificate2 개체와 연결하여 클라이언트를 행복하게 만들려면 어떻게해야합니까? 난은 OpenSSL을 사용한 경우서버 응용 프로그램에서 SslStream 및 X509Certificate2로 중간 인증서 사용
X509Certificate2 cert = new X509Certificate2("cert.pfx", "");
theSslStream.BeginAuthenticateAsServer(cert, ...);
내가 SSL_CTX_add_extra_chain_cert()
함께 할 것 :
여기에 연결을 수락 할 때 내가 지금 사용하고 코드입니다. X509Chain 객체를 살펴 봤지만 어떻게 적합하게 보이는지 알지 못합니다.
고마워요.
이것이 실제로 수행해야했던 작업입니다. openssl pkcs12 -in cert.pfx -out cert.pem -nodes ... 편집 된 cert.pem 개인 키를 자체 파일 인 cert.key에 넣습니다. 중간 인증서를 다운로드했습니다 (Go Daddy, gd_bundle.crt에서). 하려면 openssl PKCS12 -export -in cert.pem -inkey cert.key -out cert_new.pfx -CAfile gd_bundle.crt 쇄 다음 cert_new.pfx은 X509Certificate2 개체를 만드는 데, 이것은 클라이언트를 만들 것으로 보인다 될 수있다 더 행복한 질문. –