x509certificate2를 db에 저장하십시오
-
19-09-2019 - |
문제
파일 시스템에서 .p12 파일을 가져 오지 않고 x509certificate2를 SQL Server 테이블에 저장할 수 있습니까? 나는 당신이 이것에 대해 어떻게 해야할지 확실하지 않다고 확신합니다.
다른 팁
.export ()를 사용한 다음 convert.tobase64string ()을 사용하고 nvarchar (max)로 저장하십시오.
그것을 저장하려면 :
var cert = new X509Certificate2(filename);
var stringOfCertWithPrivateKey = Convert.ToBase64String(cert.Export(X509ContentType.Pkcs12));
// Or as a regular cert, which will strip the private key out
var stringOfCertWithoutPrivateKey = Convert.ToBase64String(cert.Export(X509ContentType.Cert));
// Save either string as NVARCHAR(MAX) in the DB, it's just a string now.
그런 다음 (DB에서 다시 얻은 후) : 다음과 같이 복원하십시오.
var certBytes = Convert.FromBase64String(stringOfCertWithPrivateKey);
var cert = new X509Certificate2(certBytes);
export ()를 사용하면 개인 키를 지속하도록 선택할 수 있으므로 .Rawdata보다 낫습니다 (.RawData를 사용하면 항상 스트라이프를 제거 함).
제휴하지 않습니다 StackOverflow