2014-03-07 1 views
1

결국 Windows 및 Linux (Mono)에서 실행해야하는 Windows 용 유틸리티를 작성하고 있습니다. 이 문서에서는 Windows에서 잘 작동하는 사용자 입력에 의해 지정된 파일에서 인증서를로드하고 있습니다. 그러나 Mono에서 실행하고 Windows에서 사용하는 것과 동일한 인증서를 사용하면 "입력 데이터를 유효한 인증서로 코딩 할 수 없습니다"라는 텍스트가있는 System.Security.Cryptography.CryptographicException이 발생합니다.Mono에서 X509Certificate2를로드하면 CryptographicException이 throw됩니다. "입력 데이터를 유효한 인증서로 코딩 할 수 없습니다."

Mono에 버그가 있습니까? 아니면 다른 플랫폼에서 인증서를로드하기 위해 뭔가 다른 작업을 수행해야합니까? 그냥 이런 작은 테스트 기능은 오류가 표시됩니다 :

public X509Certificate2 LoadCertificate(string certPath) 
{ 
    X509Certificate2 signingCertificate = new X509Certificate2(certPath); 

    return signingCertificate; 
} 

답변

0

귀하의 문제가이 https://stackoverflow.com/a/24172972/2555046 수 있습니다. 어느 코드를 수정해야합니까? 위에서 설명한 것과 동일한 코드를 실행하면 문제가 발생하지 않습니다.

현재 CentOS 6.5에서 비밀번호 유무와 상관없이 .pfx 인증서를로드 할 수 있지만 .p12 인증서는 사용할 수 없습니다.