[英]Store an X509Certificate2 in DB
是否可以將X509Certificate2存儲在SQL Server表中而不是從文件系統中提取.p12文件? 我相信你可以但不知道如何解決這個問題。
要保存它:
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.
然后只需恢復(從數據庫獲取后):
var certBytes = Convert.FromBase64String(stringOfCertWithPrivateKey);
var cert = new X509Certificate2(certBytes);
使用Export()優於.RawData,因為您可以選擇是否保留私鑰(使用.RawData將始終刪除它)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.