一般使用openssl生成证书步骤:
1、使用openssl使用des3算法生成2048位的rsa私钥,此处需输入预置解析密码(需记下以备后用,譬如123456
):1
openssl genrsa -des3 -out server.key 2048
注:查看刚生成的私钥(需键入解析密码):1
openssl rsa -text -in server.key
2、根据刚生成的私钥创建证书签名请求CSR文件,此处需键入包含公司、国家编码、地区编码等信息:1
openssl req -new -key server.key -out server.csr
注:查看生成CSR文件详情:1
openssl req -text -in server.csr -noout
3、删除密钥中的密码,避免在使用该证书的应用加载时需要输入解析密码的操作:1
openssl rsa -in server.key -out server.key
4、生成时间为10年(尽量长一点时间)的CA证书:1
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
以上一顿操作之后便能在~/tools/openssl
目录下看到如下文件:1
2
3
4
5
6
7zero@zero:~$ ls -a -l -h tools/openssl/
total 20K
drwxrwxr-x 2 zero zero 4.0K Jul 4 03:39 .
drwxrwxr-x 8 zero zero 4.0K Jul 4 03:36 ..
-rw-rw-r-- 1 zero zero 1.3K Jul 4 03:39 server.crt
-rw-rw-r-- 1 zero zero 1.1K Jul 4 03:39 server.csr
-rw------- 1 zero zero 1.7K Jul 4 03:42 server.key
另:如果有需要PEM格式证书,可通过以下方式生成:1
openssl x509 -in server.crt -outform PEM -out server.pem
openssl list-standard-commands(标准命令)
1 | 1) asn1parse: asn1parse用于解释用ANS.1语法书写的语句(ASN一般用于定义语法的构成) |
openssl list-message-digest-commands(消息摘要命令)
1 | 1) dgst: dgst用于计算消息摘要 |
openssl list-cipher-commands (Cipher命令的列表)
1) aes-128-cbc
2) aes-128-ecb
3) aes-192-cbc
4) aes-192-ecb
5) aes-256-cbc
6) aes-256-ecb
7) base64
8) bf
9) bf-cbc
10) bf-cfb
11) bf-ecb
12) bf-ofb
13) cast
14) cast-cbc
15) cast5-cbc
16) cast5-cfb
17) cast5-ecb
18) cast5-ofb
19) des
20) des-cbc
21) des-cfb
22) des-ecb
23) des-ede
24) des-ede-cbc
25) des-ede-cfb
26) des-ede-ofb
27) des-ede3
28) des-ede3-cbc
29) des-ede3-cfb
30) des-ede3-ofb
31) des-ofb
32) des3
33) desx
34) rc2
35) rc2-40-cbc
36) rc2-64-cbc
37) rc2-cbc
38) rc2-cfb
39) rc2-ecb
40) rc2-ofb
41) rc4
42) rc4-40