使用OpenSSL生成证书
Posted zhi-leaf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用OpenSSL生成证书相关的知识,希望对你有一定的参考价值。
一、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:国家/地区代码
以上是关于使用OpenSSL生成证书的主要内容,如果未能解决你的问题,请参考以下文章