簡體   English   中英

OpenSSL RSA以.cer格式提取公鑰

[英]OpenSSL RSA extract public key with .cer format

我正在使用openSSL創建RSA public and private key 我創建成功,並且輸出的是2個鍵,格式為private_key.pempublic_key.pem

因此,要求公開密鑰必須采用.cer extensionBase 64 format並以標頭開頭: -----BEGIN

我做了一些研究,但找不到將pem轉換為cer

有任何想法嗎? 謝謝。

P / S:這是我用來生成密鑰的腳本:

openssl genrsa -out private_key.pem 2048
openssl rsa -in private_key.pem -outform PEM -pubout -out public_key.pem

更新資料

最終,我找到了解決方案,只針對需要它的人。

set OPENSSL_CONF=C:\Program Files (x86)\GnuWin32\share\openssl.cnf
openssl genrsa -out private_key.pem 2048 -sha256 -passout pass:abc123
openssl req -new -x509 -sha256 -key private_key.pem -out public_key.cer -days 3650

為了使您的公鑰以標頭開頭:----- BEGIN,直接使用私鑰生成base64證書。

openssl genrsa -out key.pem 2048
openssl req -new -x509 -days 1826 -key key.pem -out ca.crt

這將生成一個嵌入了相對公鑰的自簽名證書,有效期為5年。 或使用

openssl req -new -key key.pem -out cert.csr

生成證書簽名請求並由Root對其進行簽名。

PEM是一種規范性編碼格式(請參閱RFC-7468 ),專門設計用於包含在郵件中,因此它僅使用基本字符集。 DER是使用二進制編碼方案的另一種規范性編碼格式。

CER 不是規范性的,它是一個文件擴展名,通常用於傳達證書(或更少的是密鑰)。

由於CER有時被用作包含DER編碼的加密材料的文件的擴展名,因此人們濫用CER的首字母縮寫並談論CER編碼。 但這沒有意義。 最后,還有其他人談論PEM編碼材料的CER文件。

我做了一些研究,但找不到將pem轉換為cer的方法。

您不會,這毫無意義:您創建密鑰的方式使它們已經經過PEM編碼。

因此,無論文件擴展名是什么,您唯一需要做的就是將以PEM編碼的密鑰文件轉換為DER格式。

為此,請使用openssl:

openssl rsa -inform PEM -in private_key.pem -outform DER -out private_key.der
openssl rsa -pubin -inform PEM -in public_key.pem -outform DER -out public_key.der

暫無
暫無

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

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