3

objEnroll.CreatePFX 유일한 반환 형식이 문자열 인 문제가 있습니다. 필요한 것은 인증서 MMC를 열고 PFX를 내보낼 때 발생하는 것과 비슷한 이진 출력입니다.CertEnroll에서 바이너리 PFX를 내보내려면 어떻게해야합니까?

개인 키를 OSX 및 iPhone으로 가져올 수 있도록 원래 PFX 형식이 필요하므로 중요합니다.

CX509Enrollment objEnroll = new CX509Enrollment(); 
    objEnroll.InitializeFromTemplateName(
       X509CertificateEnrollmentContext.ContextUser, 
       templateName); 
    // ... 
    objEnroll.Enroll(); 
    string pfxString = objEnroll.CreatePFX("q", PFXExportOptions.PFXExportEEOnly, EncodingType.XCN_CRYPT_STRING_BINARY); 

제대로 바이너리 출력으로 변환 할 수 있도록 EncodingType을 설정하는 올바른 방법은 무엇입니까? (윈도우 인증서 내보내기와 유사)

답변

3

그냥 파일

System.IO.File.WriteAllText("MyFile.pfx", pfxString); 

Windows가 PFX를 처리로 base64로 문자열을 작성합니다.

또한 사용에서 이진 base64로 변환 할 수 있습니다

System.IO.File.WriteAllBytes("MyFile.pfx", System.Convert.FromBase64String(pfxString));