X509CertificateCollection certCollec =
new X509CertificateCollection(new X509Certificate[1] { xcert});
X509CertificateCollection certCollecpfx =
new X509CertificateCollection(new X509Certificate[1] { pfxCert });
SSLStream.AuthenticateAsClient(apsHost, certCollec, SslProtocols.Default, false);
certCollec 包含 PEM 格式的证书
certCollecpfx 包含 PFX 格式的证书
AuthenticateAsClient 服务器仅适用于 PFX 格式,即使 pem 和 pfx 的 X509Certificate2 对象具有完全相同的原始数据。
为什么是这样?它一直告诉我调用 SSPI 失败:数据格式错误。
为什么它不接受pem格式?
然后我尝试将 pem 格式导出到 pfx,但它仍然不接受它 - 同样的错误,即使我将它导出到 pfx。
byte[] pemCertBytes = pemCert.Export(X509ContentType.Pfx, "620fpass");
File.WriteAllBytes(@"C:\test\MyCert.pfx", pemCertBytes);