x509
PKCS#7
PKCS#10
PKCS#12
PEM Format
Privacy Enhanced Mail
内容以"-----BEGIN..."开头,以"-----END..."结尾
查看PEM格式证书的信息:openssl x509 -in certificate.pem -text -noout
ASCII文件使用Base64编码
常用后缀为 .pem, .crt, .cer, .key
Apache 使用 PEM 证书。
DER Format
PFX Format
对称加密需要使用的标准命令为 enc ,用法如下:
openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a/-base64]
[-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt] [-salt] [-nosalt] [-z] [-md]
[-p] [-P] [-bufsize number] [-nopad] [-debug] [-none] [-engine id]
in filename:指定要加密的文件存放路径
out filename:指定加密后的文件存放路径
salt:自动插入一个随机数作为文件内容加密,默认选项
e:可以指明一种加密算法,若不指的话将使用默认加密算法
d:解密,解密时也可以指定算法,若不指定则使用默认算法,但一定要与加密时的算法一致
a/-base64:使用-base64位编码格式
单向加密需要使用的标准命令为 dgst ,用法如下:
openssl dgst [-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1] [-c] [-d] [-hex] [-binary]
[-out filename] [-sign filename] [-keyform arg] [-passin arg] [-verify filename] [-prverify
filename] [-signature filename] [-hmac key] [file...]
[-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1] :指定一种加密算法
out filename:将加密的内容保存到指定文件中
生成密码需要使用的标准命令为 passwd ,用法如下:
openssl passwd [-crypt] [-1] [-apr1] [-salt string] [-in file] [-stdin] [-noverify] [-quiet] [-table] {password}
常用选项有:
1:使用md5加密算法
salt string:加入随机数,最多8位随机数
in file:对输入的文件内容进行加密
stdion:对标准输入的内容进行加密
生成随机数需要用到的标准命令为 rand ,用法如下:
openssl rand [-out file] [-rand file(s)] [-base64] [-hex] num
out file:将生成的随机数保存至指定文件中
base64:使用base64 编码格式
hex:使用16进制编码格式
首先需要先使用 genrsa 标准命令生成私钥,然后再使用 rsa 标准命令从私钥中提取公钥。
genrsa 的用法如下:openssl genrsa [-out filename] [-passout arg] [-des] [-des3] [-idea] [-f4] [-3] [-rand file(s)] [-engine id] [numbits]
out filename:将生成的私钥保存至指定的文件中
des|-des3|-idea:不同的加密算法
numbits:指定生成私钥的大小,默认是2048
ras 的用法如下:
openssl rsa [-inform PEM|NET|DER] [-outform PEM|NET|DER] [-in filename] [-passin arg] [-out filename] [-passout arg]
[-sgckey] [-des] [-des3] [-idea] [-text] [-noout] [-modulus] [-check] [-pubin] [-pubout] [-engine id]
in filename:指明私钥文件
out filename:指明将提取出的公钥保存至指定文件中
pubout:根据私钥提取出公钥
流程
第一步:生成客户端的公私钥对。
第二步:以客户端的密钥和客户端自身的信息,生成证书请求文件。
第三步:CA机构接收到客户端的证书请求文件后,首先校验其签名,然后审核客户端的信息,最后CA机构使用自己的私钥为证书请求文件签名,生成证书文件并下发。
修改\OpenSSL-Win64\bin\openssl.cfg配置文档
根据配置文档新建目录、文件
打开CA_default的目录,构造伪随机数
构建根证书密钥(也就是成客户端的公私钥对)
申请签发证书
签发证书
原文:https://www.cnblogs.com/ysz-123/p/12712091.html