我有一個給定的證書安裝在我的服務器上。該證書具有有效日期,並且在Windows證書MMC管理單元中似乎完全有效。爲什麼這個X.509證書被認爲是無效的?
但是,當我嘗試讀取證書時,爲了在HttpRequest中使用它,我無法找到它。以下是使用的代碼:
X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly); X509Certificate2Collection col =
store.Certificates.Find(X509FindType.FindBySerialNumber, "xxx", true);
xxx
是序列號;參數true
的意思是「只有有效的證書」。返回的集合是空的。
奇怪的是,如果我通過false
,表示無效證書可以接受,則集合包含一個具有指定序列號的元素—。
結論:證書似乎有效,但Find
方法將其視爲無效!爲什麼?
鏈證書存在,但不知何故無法訪問此用戶。我使用MSDN的示例代碼來檢查鏈狀態:http://tinyurl.com/4wfnng。此代碼根據用戶重新設置不同的狀態。我將嘗試重新安裝證書。謝謝。 – pvieira 2008-09-19 09:40:56