簡體   English   中英

(NET6+) 授予用戶對證書私鑰的讀取權限

[英](NET6+) Grant user read permission on certificate's private key

Windows 將證書的私鑰存儲為文件,您可以使用 mmc.exe 授予用戶對這些密鑰的讀取權限。 我需要一種在 NET6 中以編程方式執行此操作的方法。

Microsoft 已將 X509Certificate 類上的PrivateKey屬性標記為已過時(自 .NET 4.6 起),正確的方法是使用提供的擴展方法

但是,返回的 RSA 密鑰類不包含 UniqueName 屬性,我可以使用它來確定私鑰的文件名,從而授予用戶對其的讀取權限。

這個問題授予用戶對私鑰的權限顯示了如何使用過時的屬性名稱來實現它。

有誰知道不使用PrivateKey屬性如何實現這一點?

我對此有一些運氣:

// input: "X509Certificate2 cert"
RSACng rsa = cert.GetRSAPrivateKey() as RSACng;
string rsaKeyName = rsa.Key.UniqueName;
if (rsaKeyName == null)
{
    RSACryptoServiceProvider rsaCSP = cert.GetRSAPrivateKey() as RSACryptoServiceProvider;
    rsaKeyName = rsaCSP.CspKeyContainerInfo.KeyContainerName;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM