【全】OpenSSL创建生成CA证书、服务器、客户端证书及密钥说明

avatar
作者
筋斗云
阅读量:0
本文章对应的文档:使用OpenSSL创建生成CA证书服务器客户端证书及密钥资源-CSDN文库

https://download.csdn.net/download/weixin_41885845/88746920

对于SSL单向认证

服务器需要CA证书、server证书、server私钥,客户端需要CA证。

对于SSL双向认证

服务器需要CA证书、server证书、server私钥,客户端需要CA证书,client证书、client私钥。

生成CA证书

私钥生成指令: openssl genrsa

该命令是会用来生成 RSA 私有秘钥,不会生成公钥,因为公钥提取自私钥。

openssl genrsa [-out filename] [-passout arg] [-f4] [-3] [-rand file(s)] [-engine id] [numbits] [-des] [-des3] [-idea]

-des encrypt the generated key with DES in cbc mode

-des3 encrypt the generated key with DES in ede cbc mode (168 bit key)

-idea encrypt the generated key with IDEA in cbc mode

-seed

encrypt PEM output with cbc seed

-aes128, -aes192, -aes256

encrypt PEM output with cbc aes

-camellia128, -camellia192, -camellia256

encrypt PEM output with cbc camellia

-out file output the key to 'file

-passout arg output file pass phrase source

-f4 use F4 (0x10001) for the E value

-3 use 3 for the E value

-engine e use engine e, possibly a hardware device.

-rand file:file:...

load the file (or the files in the directory) into

the random number generator

-des 使用des cbc模式对私钥文件进行加密。

-des3 使用des3 cbc模式对私钥文件进行加密。

-idea 使用idea cbc模式对私钥文件进行加密。

-aes128, -aes192, -aes256 使用aes cbc模式对私钥文件进行加密。

-out file 指定输出私钥文件名。

-f4 指定F4做为E值,默认。

-3 指定3做为E值。

-seed arg 指定cbc的随机种子。

-rand file:file 指定随机数种子文件。

———————————————————————————————————————

-out filename :将生成的私钥保存至filename文件,若未指定输出文件,则为标准输出。

-numbits :指定要生成的私钥的长度(单位 bit),默认为1024。该项必须为命令行的最后一项参数。

-des|-des3|-idea:指定加密私钥文件用的算法,这样每次使用私钥文件都将输入密码,太麻烦所以很少使用。

-passout args :加密私钥文件时,传递密码的格式,如果要加密私钥文件时单未指定该项,则提示输入密码。传递密码的args的格式见openssl密码格式。

测试

1、 openssl genrsa -seed -out rs_pri.pem 512

2、 openssl genrsa -aes256 –out rs_pri.key 512

3、 openssl genrsa -des3 -out test.key -rand hello.txt 512

4 、openssl genrsa -des -passout pass:"123456" -out prikey.pem 1024

请求CA证书(先创建CA证书私钥)

C-----国家(Country Name)

ST----省份(State or Province Name)

L----城市(Locality Name)

O----公司(Organization Name)

OU----部门(Organizational Unit Name)

CN----产品名(Common Name)

emailAddress----邮箱(Email Address)

req指令

主要用于创建证书请求文件;

openssl req [options] <infile> outfile

-inform arg 指定输入文件格式,可以为DER或PEM,默认为PEM。

-outform arg 指定输出文件格式,可以为DER或PEM,默认为PEM。

-in arg 指定输入文件。

-out arg 指定输出文件。

-new 创建新的证书请求文件。

-key file 指定创建证书请求的私钥文件。

-keyform arg 指定创建证书请求的私钥文件的格式,可以为DER或PEM,默认为PEM。

-passin arg 指定私钥文件的口令保护来源。

-verify 校验证书请求文件的主体签名是否有效。

-noout 不打印证书请求信息。

-text 文本打印证书请求文件。

-modulus 输出证书请求的模数信息。

-subject 输出证书请求主体信息。

-subj arg 设置或修改证书请求的主体信息。

-multivalue-rdn 设置或修改证书请求的主体信息时,允许多RDN格式。

-utf8 输入字符为utf8编码,默认输入为ASCII编码。

-[digest] 指定创建证书请求的摘要算法。

-pubkey 提取证书请求文件中的公钥。

x509指令

主要用于创建、修改x509证书。

openssl x509 [options] <infile >outfile

-inform arg 指定输入文件格式,可以为DER或PEM,默认为PEM。

-outform arg 指定输出文件格式,可以为DER或PEM,默认为PEM。

-keyform arg 指定私钥文件格式,可以为DER或PEM,默认为PEM。

-CAform arg 指定CA文件格式,可以为DER或PEM,默认为PEM。

<

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!