[英]adding certificate to remote x509store miss the private key
任務是將證書導入到遠程服務器(win2008服務器Web版/ IIS7)。
證書位於.pfx文件中。
安裝后,我注意到私鑰保存在客戶端服務器上(從中運行腳本)(在C:\\ ProgramData \\ Microsoft \\ Crypto \\ RSA \\ MachineKeys中),但沒有保存在目標服務器(安裝了證書)上。 由於此證書不能用於站點綁定,出現錯誤:
指定的登錄會話不存在。 它可能已經被終止。
所以。 我可以看到證書已安裝在遠程服務器上,但沒有私鑰。 我做錯了什么?
Dim pathToPFXFile As String = "\\CertServer\e$\tmp\CPVanitySSLInstall.pfx"
Dim passwordForPFXFile As String = "xxx"
Dim WinVanitySSLTable As Data.DataTable
Dim cert, cert1 As X509Certificate2
Dim certs As X509Certificate2Collection
Dim store As X509Store
cert = New X509Certificate2(pathToPFXFile, passwordForPFXFile, X509KeyStorageFlags.MachineKeySet Or X509KeyStorageFlags.PersistKeySet Or X509KeyStorageFlags.Exportable)
store = New X509Store("\\DestinationServerName\My", StoreLocation.LocalMachine)
If (cert IsNot Nothing) Then
store.Open(OpenFlags.MaxAllowed)
store.Add(cert)
store.Close()
End If
順便說一句,當我在目標服務器本身上運行此腳本時,它可以完全按預期工作。 除此之外,我檢查了對存儲在遠程服務器\\ DestinationServerName \\ C $ \\ ProgramData \\ Microsoft \\ Crypto \\ RSA \\ MachineKeys上的機器密鑰的訪問,並且確定。
您可以在Windows中使用證書管理器來驗證證書是否確實具有關聯的私鑰。 在列表中選擇證書,然后單擊“打開”或查看圖標(如果其中有一個小鑰匙,則說明您有私鑰)。 如果它確實具有私鑰,請確保iis或您的asp.net應用有權訪問它。 您可以在C:\\ Users \\ All Users \\ Microsoft \\ Crypto \\ RSA \\ MachineKeys中找到私鑰文件,以檢查權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.