1
我試圖從pfx文件加載帶有私鑰的證書並將其導入LocalMachine/My(Personal)證書存儲區。我的代碼工作,除了罰款,當我查看證書存儲區中,它說無法使用私鑰導入證書pfx從Windows Server 2012上的.net c#3.5存儲
「的相關私鑰無法找到」
並進一步的certutil說
「無法找到證書和私鑰解密「
奇怪的部分是,我的代碼在Windows 7開發盒上工作正常,但在Windows Server 2008 R2或2012上沒有問題。另外奇怪的是,如果我使用mmc手動導入pfx文件,私鑰似乎仍然存在正常。
這裏是代碼我使用加載文件並導入:
// load the certificate from pfx file
X509Certificate2 cert = new X509Certificate2(filePath, pfxPassword, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet);
// import to the store
X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite); //tried MaxAllowed as well
store.Add(caCert);
store.Close();
任何想法?對於背景信息,我也在使用BouncyCastle的早期步驟中生成代碼中的證書。我在那一步遇到了一些持續私鑰的問題,但是解決了this question的回答。此外,試圖導入的代碼以管理員身份運行。
參考這個答案,http://stackoverflow.com/questions/749654/associate-private-key-to-certificate-for-pfxexportcertstoreex – Raj
@Raj謝謝你的指針,但我沒有明確的使用CryptoAPI在此時此刻。我想知道是否有辦法使用c#System.Security.Cryptography.X509Certificates或相關的命名空間來做到這一點... – rusty