2016-02-15 45 views
14

我需要創建一個csr文件以將其提供給某人。如何爲azure網絡應用程序創建csr文件

csr文件用於天藍色Web應用程序的SSL證書。

當我谷歌,我發現有關其中生成csr文件不一致的信息。

一些消息來源說:我必須在運行web應用程序的服務器上創建csr文件。

在我的情況下,Azure上的服務器是未知的。我不能在那裏運行任何東西......

或者可以在我的本地電腦上創建csr並使用所有公司數據+主題填寫自定義域名?

回答

5

您可以藉助Certreq.exe或OpenSSL工具創建cer文件。

欲瞭解更多詳情,請看官方文檔如何enable HTTPS for an app in Azure App Service

+1

我的問題是我必須在Azure服務器上生成csr文件嗎?我沒有訪問權限,只有MS ...所以教程說......但是這怎麼能工作? – HelloWorld

+1

我聽說csr文件包含生成csr(for)的機器的指紋,所以我假設我必須在azure服務器上創建csr。但是用我的標準訂閱,我沒有root權限。我無法在Azure服務器上運行certreq.exe! – HelloWorld

+0

您不必在azure上創建csr文件。事實上,你將無法做到。但之後您可以將完成的證書上傳到天藍色的Web應用程序。 –

2

而不是手動完成它,一個選項是通過額外的服務搜索「應用程序證書服務」,它將爲您提供購買SSL證書的嚮導,然後將其綁定到您的應用程序。它比手動生成CSR更簡單,更快捷,而且也不那麼容易混淆。文檔是冗長的,並且我們是否應該遠程訪問服務器並在那裏生成CSR等方面並不十分清楚,所以我強烈建議通過App Certificate Service來完成。

4

OpenSSL是安裝在控制檯,可以有生成的文件。您必須指定原始命令中所需的所有設置以openssl,因爲它應該提示您提出問題,但目前它不起作用。因此,像這樣:

openssl req -new -newkey rsa:2048 -nodes -out yoursite_com.csr -keyout yoursite_com.key -subj "/C=US/ST=California/L=San Francisco/O=Your Site Inc./OU=Engineering/CN=yoursite.com"

一旦你有你的企業社會責任,你不能從控制檯打開它,你確實有使用捻(點擊高級工具)來打開該文件並複製內容。

2

其他人提供了關於這些事實寶貴的見解:

  • ,你可以(在Azure的Web應用程序的情況下,基本都)生成CSR在不同的機器上,比目標服務器(一個,這將使用證書)。
  • 可用於生成CSR的工具(例如openssl,DigiCert實用程序)。
  • 另一種獲取Azure Web App證書的方法(Azure應用證書服務)。

也許我失去了一些東西,但我沒有看到上答案:

  1. 爲什麼你想(或者甚至應該)生成目標機器上的企業社會責任?
  2. 爲什麼你不需要?

我回答這兩個問題的方法我首先從事實上說,生成CSR實際上是一個過程,它產生兩個工件,其中顯而易見的部分 - 證書請求 - 可能不太重要這件事。更重要的一個也是實際上首先要產生的RSA密鑰對,其中公共部分用於CSR請求,而私有密鑰對是使用該密鑰對的關鍵部分證書。

雖然密鑰對通常是使用基於硬件的熵數據生成的,但對於您所使用的機器而言是特定的,結果(密鑰對)可以在任何地方使用,因爲密鑰值僅在數學上綁定到彼此。企業社會責任的內容是以公鑰和申請證書的主體爲基礎的,所以再也沒有什麼內容可以在別處使用。這就解釋了爲什麼在實際生成不同機器/服務上實際生成CSR(和密鑰)方面沒有技術限制,因此問題2得到了解決。

問題編號1的答案來自過程中生成的私鑰的關鍵特徵。這個關鍵特徵是它應該保持私密。最理想的是隻有證書身份的唯一用戶才能使用它。該「用戶」將是目標服務(網絡服務器)。當您在別處生成密鑰時,您有責任在該環境中保護該密鑰並將其轉移到目標上。這通常是不必要的風險。建議的解決方案通常是在目標證書/密鑰存儲中生成密鑰,並使用私鑰保護,這可以防止從存儲中提取(導出)私鑰。即使目標服務(網絡服務器)實際上也無法提取/讀取它(但能夠使用它)。由於密鑰對是在CSR創建過程中生成的,這意味着此過程應在該商店所在的位置以及該商店的功能中執行。這應該回答這個問題。值得注意的是,DigiCert工具以及IIS管理器用戶界面正在使用Windows證書存儲,它們爲私鑰添加了保護層,但它們確實將密鑰標記爲可導出,這允許密鑰提取。 OpenSSL工具(在Windows上)在Windows證書存儲(作爲文件)之外生成密鑰,因此您可以輕鬆訪問它,這並不安全。

我找到這篇文章:https://www.namecheap.com/support/knowledgebase/article.aspx/9854//how-to-generate-a-csr-code-on-a-windowsbased-server-without-iis-manager,其中提到了3個額外的生成CSR的方式/工具,其中第一個(使用Microsoft管理控制檯中的證書管理單元)實際上允許您將私鑰標記爲不可輸出。

當然,就您而言,獲取(例如導出)私鑰的能力至關重要,因爲您必須在別處生成CSR,因爲Azure Web App證書商店目前沒有允許生成CSR的功能。

相關問題