系统:Ubuntu 12.04 LTS (amd64)
软件:OpenSSL
安装:$ sudo apt-get install openssl
openssl.cnf路径:/etc/ssl/openssl.cnf
步骤:
1、准备!创建工作目录,并将openssl.cnf复制到工作目录中。
~$ mkdir ~/ssl
~/ssl$ mkdir ~/ssl/demoCA
~/ssl/demoCA$ mkdir ~/ssl/demoCA/newcerts
~/ssl/demoCA$ sudo cp /etc/ssl/openssl.cnf ~/ssl
~/ssl/demoCA$ touch ./index.txt
~/ssl/demoCA$ echo "01" >> serial
2、生成CA
~/ssl$ openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf -days 365
-days是有效期(单位:天)
下列选项要求全部使用英文或拼音方式填写,一行一回车。
Country Name = 国家代码(两位大写字母,eg:CN)
State or Province Name = 州省级行政区
Locality Name = 市级行政区
Organization Name = 公司或组织名称(不能包含特殊符号,可以使用空格)
Organizational Unit Name = 部门名称
Common Name = 证书显示名称(CA为颁发者名称;其他证书为颁发给…)
Email Address = 域管理员邮箱
3、生成服务器端Key
~/ssl$ openssl genrsa -des3 -out server.key 1024
~/ssl$ openssl rsa -in server.key -out server.key
1024:为加密强度,位数越高加密效果越好,但是运行速度越慢,1024为推荐强度。
4、生成服务器待签Csr文件
~/ssl$ openssl req -new -key server.key -out server.csr -config openssl.cnf
5、使用CA为生成的服务器CSR文件签名
~/ssl$ openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
6、生成客户端Key
~/ssl$ openssl genrsa -des3 -out client.key 1024
7、生成客户端待签Csr文件
~/ssl$ openssl req -new -key client.key -out client.csr -config openssl.cnf
8、使用CA为生成的客户端CSR文件签名
~/ssl$ openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cnf