簡體   English   中英

如何從密鑰對的現有公鑰創建證書簽名請求 (CSR)(假設私鑰在其他地方的安全位置)?

[英]How can I create a Certificate Signing Request (CSR) from an existing public key of a key pair (assuming the private key is in a safe spot elsewhere)?

我正在使用 OpenSSL。 openSSL 的所有參考資料都集中在以下兩個創建 CSR 的命令上; 一個要求您輸入一個已經存在的私鑰(並導出公鑰???),第二個將創建一個新的密鑰對。 我想使用我的公鑰而不是創建一個新的。

創建 CSR 和私鑰:

openssl req -newkey rsa:2048 -keyout my.key -out my.csr

從現有私鑰創建 CSR:

openssl req -key my.key -out my.csr

對於第一個選項,我不明白為什么您需要私鑰作為命令中的參數。 我看到很多網站都說 CSR 是加密的,但這似乎不是真的。 如果您將 CSR 放入 CSR 解碼器(即http://www.sslshopper.com/csr-decoder.html ),則可以對其進行解析; 因此我唯一的結論是它只是編碼而不是加密。

為什么要在這些命令中輸入私鑰? 私鑰是如何使用的? 如果它正在加密某些東西,它在加密什么?

如果不使用,有人可以告訴我如何僅使用我的密鑰對的公鑰創建 CSR 嗎?

提前致謝

CSR 使用私鑰簽名,以防止在傳輸到 CA 的過程中被篡改。 因此,您需要私鑰來創建一個。

可以創建沒有簽名的 CSR,但這種結構並不常見,並且 openssl 二進制文件本身沒有創建它們的規定。

使用您首先列出的 openssl 命令生成新的 CSR+密鑰對時,它不會加密 CSR(因為這不是理想的行為。CSR 是您提交的公共數據,而不是秘密信息),而是加密私鑰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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