使用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生成证书的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 中使用 Keychain 存储的密钥生成 OpenSSL 证书签名请求

用openssl 和 keytool 生成 SSL证书

如何使用OpenSSL工具生成根证书与应用证书

使用 openssl 生成证书

使用 openssl 生成证书

如何使用OpenSSL创建证书