顯示具有 WCF 標籤的文章。 顯示所有文章
顯示具有 WCF 標籤的文章。 顯示所有文章

2011年11月14日

解決 WCF 用程式載入 X.509 憑證服務而發生「 CryptographicException:發生內部錯誤」的問題

當透過程式載入 X.509憑證後並要取得 WCF 服務時,會發生下面的例外情況:

2011年11月11日

找到 X. 509 的憑證私鑰位置並為其加入 ACL 權限

有時候系統在存取 X.509 私鑰時因所使用的服務帳戶權限不足,而導致存取被拒的情況發生,因此一般人可能都會用像是 findprivatekey.exe 這類工具,來找出私鑰的位置並手動加入服務帳戶的權限才能解決這個問題,而這邊將說明如何透過程式來找出 private key 的位置,並且指定 account 自動加入 ACL 的權限。

2011年11月10日

解決透過程式新增 X.590 憑證(with private key)之後取不到相關私鑰資料的問題

最近要設計一個 WCF 的服務以方便透過它來取得資料,由於考量安全性的問題,所以需要設計一個驗證機制,檢核通過後才能取得資料,驗證過程則透過 X.509 來作加密的動作,因為客戶的主機要設定 X.509 的憑證不容易,因此想透過程式的方法來新增憑證,程式碼如下:
X509Store store = new X509Store("My", StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite);

if (store.Certificates.Find(
     X509FindType.FindBySubjectName, "SubjectName", true).Count == 0)
{
     X509Certificate2 certificate = new X509Certificate2(
          Server.MapPath("~/App_Code/WebService/cert.pfx"), "password");

     store.Add(certificate);
}

store.Close();