Visual Studio 要求匯入 pfx 密鑰以及匯入後依然要求匯入的解決辦法

來源:互聯網
上載者:User

標籤:

本文為個人部落格備份文章,原文地址:

http://validvoid.net/visual-studio-pfx-import/

匯入密鑰

在使用 Visual Studio 生產項目時,使用 pfx 密鑰簽名的項目可能遭遇以下問題:

無法匯入以下密鑰檔案: ****.pfx,該密鑰檔案可能受密碼保護。若要更正此問題,請嘗試再次匯入認證,或手動將認證安裝到具有以下密鑰容器名稱的強式名稱 CSP: VS_KEY_****************

Cannot import the following key file: ****.pfx. The key file may be password protected. To correct this, try to import the certificate again or manually install the certificate to the Strong Name CSP with the following key container name: VS_KEY_****************

這種情況只要依提示將密鑰匯入即可,具體的操作步驟是:

  1. 啟動 Visual Studio 命令提示

    中文版: 開始 -> Microsoft Visual Studio 201* - >Visual Studio Tools -> Visual Studio 命令提示(201*)

    English: Start -> Microsoft Visual Studio 201* -> Visual Studio Tools -> Developer Command Prompt for VS201*

  2. 在命令提示字元中定位到 .pfx 檔案所在的目錄

  3. 在命令提示字元中輸入 sn -i \*\*\*\*.pfx VS\_KEY\_\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

    例如: sn -i xxxx.pfx VS_KEY_791BAAE3DF288545

  4. 輸入 .pfx 密鑰檔案的密碼,完成匯入

完成匯入後應該就可以在 Visual Studio 中正常 build 項目了。

重新匯入密鑰

有時,在 Visual Studio 要求匯入密鑰,並執行上述匯入步驟時會得到以下報錯:

Failed to install key pair -- Object already exists

這時可以通過在 Visual Studio 命令提示 中執行以下命令移除已經匯入的密鑰,以便重新匯入:

sn -d VS\_KEY\_\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

提示密鑰刪除成功後可以通過上述匯入步驟重新匯入密鑰。

如果在刪除密鑰時獲得以下報錯:

容器不存在

Container does not exist

這是由於系統中另外某個賬戶已經匯入了密鑰,在當前賬戶中無法對其進行移除。可以嘗試登入到早先匯入密鑰的使用者賬戶對密鑰進行移除,然後再切換到要進行 項目 build 的賬戶重新匯入密鑰即可。

Visual Studio 要求匯入 pfx 密鑰以及匯入後依然要求匯入的解決辦法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.