3
CERTENROLL.dll의 CX509CertificateRequest 인증서 기능을 사용하여 C#에서 생성 한 자체 서명 루트 인증서가 있습니다.C# certenroll.dll을 사용하여 CA가없는 자체 서명되지 않은 클라이언트 CX509Certificate 요청을 생성합니다.
동일한 API를 사용하여 루트에서 서명 한 클라이언트 인증서를 생성하는 함수를 작성하고 싶습니다. 그러나 자체 서명 인증서를 생성하지 못하는 유일한 CertEnroll 옵션은 인증 된 CA가 필요합니다.
SignerCertificate를 설정하기위한 플래그가있는 것처럼 보이지만 항상 초기화하지 못합니다.
//Initialize cert
var cert = new CX509CertificateRequestCertificate();
//take care of signer
cert.Issuer = issuen;
CSignerCertificate sc = new CSignerCertificate();
var raw = SEScert.GetRawCertData();
var rawStr=Convert.ToBase64String(raw);
sc.Initialize(false, X509PrivateKeyVerify.VerifyNone,
EncodingType.XCN_CRYPT_STRING_BASE64, rawStr); //fails here
cert.SignerCertificate = sc;
내 루트가 서명 한 클라이언트 CX509CertificateRequest을 생성 할 수있는 방법
사람이 알고 있나요?
도움이나 조언을 주시면 감사하겠습니다.
와우, 정말 기쁜 누군가 나 전에 그것을 알아 냈어. 이 게시물을 찾는 데 나이가 들었습니다. 고맙습니다! – misha
나는 너에게 키스 할 수있어. 이것을 사용하려면'EncodingType.XCN_CRYPT_STRING_HEXRAW'를 사용해야합니다. – Dinei