您的位置:首页 > 运维架构

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

2015-01-21 22:37 369 查看
系统: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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: