![](/img/trans.png)
[英]X509Certificate IssuedTo / IssuedBy for user display from X509Store
[英]Prompt user for password when grabbing X509Certificate from X509Store?
我有一個C#表單(在客戶端計算機上運行),該表單從商店中收集了所有用戶X509證書,並將它們呈現給用戶,以便他們可以選擇要使用的X509證書。 然后,我將證書傳遞給Web服務以進行一些工作。 這一切都很棒! 問題是,永遠不會提示用戶輸入X509證書密碼嗎? 從商店獲得X509Certificate后,我找不到“檢查密碼”的方法。 我還考慮過使用X509Certificate構造函數,該構造函數需要路徑和密碼,但是我沒有看到一種方法來從我從商店中獲取的X509Certificate中獲取文件路徑和名稱? 僅從商店中獲取證書而不要求輸入用戶密碼是否安全?
這是我從商店搶購的方式:
X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
for (int i = 0; i < store.Certificates.Count; i++)
{
X509Certificate c = store.Certificates[i];
...//add to GUI for user to pick here....
}
感謝您的幫助,史蒂夫
如果您選擇使用來自加密設備(例如eToken或SmartCard)的證書,系統將自動提示您輸入密碼(設備的密碼,而不是證書)。 在其他情況下,我認為您不應該關心它。 在Windows中,您無需任何密碼即可輕松訪問本地存儲,因此為什么要在應用程序中對其進行密碼保護。
這取決於證書的私鑰是否受密碼保護。 如果您從商店中訪問了此類證書,則窗口應提示您輸入該證書。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.