SSL 인증서를 PEM에서 DER로 변환하고 개인 키를 유지하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/213568

문제

Backstory : PKCS#12 (P12)가 PEM으로 변환하기 위해 OpenSSL을 사용한 대칭 암호 (비밀번호)가있는 PKCS#12 (P12) 인증서가 있습니다. 텍스트로 열면 두 가지가 포함되어 있습니다. BEGIN/END CERTIFICATE 섹션뿐만 아니라 BEGIN/END RSA PRIVATE KEY. .NET 프레임 워크 X509Certificate 클래스는 "ASN.1 der"형식 만 지원하므로 OpenSSL을 사용하여 PEM을 Der로 변환했습니다. 불행히도이 작업을 수행하는 것은 SSL 연결에 필요한 개인 키가 포함되어 있지 않습니다. SslStream & TcpClient.

X509CertificateCollection certsFromFile = new X509CertificateCollection();
X509Certificate2 cert = new X509Certificate2("my.der.crt");
if (!cert.HasPrivateKey)
    throw new Exception("No private key");
certsFromFile.Add(cert);

TcpClient tcpclient = new TcpClient(hostname, port);
SslStream sslstream = new SslStream(tcpclient.GetStream(), false,
    null, null);
sslstream.AuthenticateAsClient(hostname, certsFromFile,
    SslProtocols.Ssl3, false);
sslstream.Close();
tcpclient.Close();

이 PEM 파일을 사용하여 개인 키 정보를 유지하는 동안 어떻게 DER로 만들려면 서명을 위해 .NET에서 사용할 수 있습니까?

도움이 되었습니까?

해결책

죄송합니다, 나는 시간 뒤에 있습니다! 보입니다 X509Certificate2 PKCS#12 파일을 읽을 수 있으므로 변환이 필요하지 않습니다.

다른 팁

인증서와 키는 일반적으로 별도로 저장됩니다. PEM 파일을 인증서와 키가있는 두 파일로 자릅니다. 그런 다음 OpenSSL 툴킷을 사용하여 각 파일을 DER 파일로 개별적으로 변환 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top