2

pfx ファイルがあります。ファイル ストリームを使用してこの pfx ファイルを読み取る場合。生のバイトを指定するだけで X509Certificate2 を作成すると、機能します。しかし、パスワードとフラグを使用して X509Certificate2 を作成しようとすると、「指定されたネットワーク パスワードが正しくありません」という例外が発生します。

2 番目の X509Certificate2 の構築は、パスワードが正しいにもかかわらず、「指定されたネットワーク パスワードが正しくありません」という例外で失敗します。

using (FileStream stream = new FileStream(@"D:\MyKey.pfx", FileMode.Open))
{
    int length = (int)stream.Length;
    byte[] certBytes = new byte[length];
    stream.Read(certBytes, 0, length);

    X509Certificate2 finalCert0 = new X509Certificate2(certBytes);
    X509Certificate2 finalCert1 = new X509Certificate2(certBytes, "venki", X509KeyStorageFlags.Exportable | X509KeyStorageFlags.PersistKeySet);
}
4

1 に答える 1

0

同じ経験があったので、証明書ファイルを削除してファイルを再コピーしたところ、機能しました。古いファイルを復元しましたが、同じように失敗しました。ファイルを比較すると、ファイルが大幅に異なっていて、ファイルが破損していることが明らかになりました。

于 2012-06-07T16:55:29.533 に答える