使用OpenSSL生成证书

橙三吉。 提交于 2019-12-06 13:59:39

一、OpenSSL简介

  OpenSSL支持多种秘钥算法,包括RSA、DSA、ECDSA,RSA使用比较普遍。官网地址:https://www.openssl.org/,一般CeontOS系统都装有OpenSSL

二、秘钥操作

  生成RSA私钥。-out private.key 输出秘钥文件为private.key;128 为秘钥大小,目前认为2048大小是比较安全的,本文测试使用128大小。

openssl genrsa -out private.pem 128

 生成的私钥样式为:

-----BEGIN RSA PRIVATE KEY-----
MGMCAQACEQDS52MK0Nw1QIfRfSaTOhdnAgMBAAECEQCV/r6v6I9Uxv/J3tc5onvB
AgkA6o1Gly9yqVECCQDmMIZkMe6HNwIIaKE68yhMWvECCBXOAuz6zd2BAgkAlR9Y
VQCWm2A=
-----END RSA PRIVATE KEY-----

  生成带密码的RSA私钥。-aes256,指定密码加密方式,

openssl genrsa -aes256 -passout pass:1234 -out private.pem 128

  生成的私钥样式为:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,B15639107691B98267AD45CF619539BB

Xf7uNMPFE3pdc0T5hmrZWaU5GmK/Jaf7B8oF4pmeTWAJ7SvGvQKxeFBecE1ROn6z
xIuSkHI9SwsdTlwNJmvYzGLwLwHNwXGc/cJF0EISlsBYTE/v2C12tj9E5VGKiTeH
DRuIEhyaypqMp5+Ceyi61A==
-----END RSA PRIVATE KEY-----

  私钥加密

openssl rsa -in private.pem -aes256 -passout pass:1234 -out enc_private.pem

  私钥去取加密

openssl rsa -in enc_private.pem -passin pass:1234 -out private.pem

 

  生成公钥, 如果私钥private.pem有密码,生成公钥时会提示需要输入密码。

openssl rsa -in private.pem -pubout -out public.pem

  公钥样式:

-----BEGIN PUBLIC KEY-----
MCwwDQYJKoZIhvcNAQEBBQADGwAwGAIRANGuQHQ1P4GTgcQwHdS4nIcCAwEAAQ==
-----END PUBLIC KEY-----

 

三、生成自签名证书

  使用已有的私钥创建自签名证书

openssl req -new -key private.pem -out cert.crt -subj "/C=CN/ST=hubei/L=SZ/O=test/OU=test/CN=test.com"

-subj拥有者信息,CN:姓名;OU:组织单位名称;O:组织名称;L:省/市/自治区名称;C:国家/地区代码

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!