原来做的一个金融软件项目, 部署到生产环境后,客户要求使用SSL协议保证数据安全性(后来分析实际用处不大),在此整理了一些SSL基本概念
和不同服务器(weblogic,websphere,apache,)的ssl配置以及自建CA中心生成证书
--第四篇:自建CA中心--
第四篇也使用直接贴入word格式吧,省事了.. : )
1 自建CA中心
CA中心
1 生成CA自己的私钥
2 生成CA(使用私钥)自签名的证书(x509格式,这个证书也称为根证书)
3 使用脚本对需要证书的机构提交的CSR进行签名
CA中间机构
1,生成自己的私钥
2,生成请求证书CSR发给CA根中心,然后得到CA签过名的证书(公钥)
3
,用自己的私钥签名
?(
里面应包括根
CA
的证书链啊
)
客户(即需要部署证书的Web Server)
1 生成私钥
2 生成CSR,其中包括自己的公钥
3 收到CA签名后的CSR返回(经ca签名的证书)
4 将CA证书(root ca),私钥以及经ca签名的证书部署在机构
1.1 使用OpenSSL自建CA中心(注:需要在Linux系统中)
假设我们要做的最高层认证中心叫做 myrootca
下面步骤在WINDOWS中测试时到8.1.2步中出现:
Unable to load config info from /usr/local/ssl/openssl.cnf 的提示
1.1.1 制作 Private Key (及 Public Key )
我们做一个新的 Private Key 。 Public Key 可由 Private Key 推得,所以不用特别去做。
请为最高层认证中心的 Private Key 设定一个适当的密码:123456
制作 RSA[7] Private Key
openssl genrsa -des3 -out myrootca.key.pem 2048
1.1.2 填写凭证申请书
证申请书,是把你的资料,和这个 Public Key 夹在一起,以便认证中心审核,签上签名用的。所以这个步骤,会问你这个 Key 的相关资料,包括国家、城市、单位名称、部门名称、凭证名称、联络人的信箱,以及申请的效期等等。请一一填写
若你要直接用最高层认证中心来直接当凭证用,凭证名称 (Common Name) 请用伺服器的全名 ( www.abc.com)(一般不会这样用)
填写凭证申请书
openssl req -new –key myrootca.key.pem -out myrootca.req.pem
1.1.3 签发证书>>即自签名证书
自己给自己签名:
openssl x509 -req -days 7305 -sha1
-extfile openssl.cnf -extensions v3_ca
-signkey myrootca.key.pem
-in myrootca.req.pem -out myrootca.crt.pem
这样就好了,
Private Key
在
myrootca.key.pem,
要小心存好保护
自己签Public Key凭证在 myrootca.crt.pem
注:另外可以使用OpenVPN来制作CA中心
简介(实际使用时到可以到网上去找具体资料配置):
open是一个虚拟个人网络制作工具,他能完美的在win(linux,BSD也行)下制作根、服务器、客户端证书。 安装完毕后,进到open的easy-rsa目录:其原理实际也是通过OPENSSL来创建密钥和证书的