-
Notifications
You must be signed in to change notification settings - Fork 0
/
usage.txt
52 lines (44 loc) · 1.75 KB
/
usage.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# 创建密钥
# DSA (1024 为 PARAMETER 位长)
openssl dsaparam -genkey -noout 1024
openssl genpkey -algorithm dsa -pkeyopt dsa_paramgen_bits:1024
# RSA (2048 为 KEY 位长)
openssl genrsa 2048
openssl genpkey -algorithm rsa -pkeyopt rsa_keygen_bits:2048
# EC (secp521r1 为指定曲线)
openssl ecparam -name secp521r1 -genkey -noout
openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:secp521r1
# 密钥保护(使用 aes256 保护)
# 不论输入是否加密过的密钥,是何种算法加密
# 想要输出的密钥是加密的就加上 -aes256 参数
# 想要输出的密钥是未加密的就去掉 -aes256 参数
openssl [rsa/dsa/ec] -aes256 -in key -out key.new
# 创建证书请求
openssl req -new -key key -config req.cnf -reqexts ext_req
# CA 签署
# 自签加上 -selfsign 参数
openssl ca -config ca.cnf -name CA_default -extensions ext -extfile v3ext.cnf
# 生成包含证书链的 PEM
# 1) cert = 想导出的子证书
# 2) cp $cert cert_chain
# 3) cert = $cert 的颁发者证书
# 4) cat $cert >> cert_chain
# 5) 如果 $cert 是根证书,结束;否则跳到步骤 3
# 吊销证书
# 吊销原因(crl_reason)可选:
# 后面给出参数的表示该原因由该参数设定,不要单独设置
# unspecified
# keyCompromise -crl_compromise time
# CACompromise -crl_CA_compromise time
# affiliationChanged
# superseded
# cessationOfOperation
# certificateHold -crl_hold instruction
# removeFromCRL
openssl ca -revoke cert/02.pem -config ca.cnf -crl_reason superseded
# 生成 CRL
openssl ca -gencrl -config ca.cnf
# 启动简单 OCSP 响应服务
openssl ocsp -index db/index.txt -CA cert/01.pem -rsigner ocsp.crt -resp_key_id -rkey ocsp.key \
-port 127.0.0.1:8000 -ndays 7
# 生成 PKCS#12 个人证书