2011-11-19 3 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

동일한 경험이 있었기 때문에 인증서 파일을 삭제하고 파일을 다시 복사하면 효과가있었습니다. 이전 파일을 복원했는데 같은 방식으로 실패했습니다. 파일을 비교해 보면 파일이 크게 다르다는 점과 파일이 어떻게 손상되었는지를 알 수 있습니다.