2011-11-19 160 views
2

我有一个pfx文件。当我使用文件流来读取此pfx文件。 当我创建X509Certificate2只是给原始字节,它的工作原理。 但是,当我尝试使用密码和标志创建X509Certificate2时,我收到一条异常,指出“指定的网络密码不正确”。X509Certificate2构造函数问题

第二个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); 
} 

回答

0

刚刚有相同的经历,我删除了证书文件,并重新复制文件,它的工作。我恢复了旧文件,并以相同的方式失败。比较文件显示文件是完全不同的,有些文件是如何被破坏的。