簡體   English   中英

將證書添加到遠程x509store缺少私鑰

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM