使用OpenSSL创建CA根证书及自签名

系统: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

会要求使用密码保护CA根证书,一般是4-16位密码。

-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

要求输入该key的加密密码,4-16位。可用下方命令去除。

~/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

所需信息和CA证书时相同。

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


你可能感兴趣的:(Ubuntu/GNU,Debian,System,Server,Linux,Ubuntu,OpenSSL,CA,ssl)