[英]How to extract the RSA public key from a .cer and store it in a .pem using OpenSSL?
[英]OpenSSL RSA extract public key with .cer format
我正在使用openSSL
創建RSA
public and private key
。 我創建成功,並且輸出的是2個鍵,格式為private_key.pem
和public_key.pem
。
因此,要求公開密鑰必須采用.cer
extension
, Base 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.