生成带证书链的数字证书
来源:互联网 发布:淘宝gsx查隐藏id 编辑:程序博客网 时间:2024/05/29 17:52
安全SSL通信双方如果都使用自签名证书,则需要把对方的证书加入到自己的信任证书库,如果是常见的C/S结构,则需要在服务器端信任证书中加入所有的客户端证书,管理非常不方便。 可以使用证书链来实现,以简化管理,增加新的客户端无需修改服务器信任证书库。
1. http://sourceforge.net/projects/xca,下载证书生成工具,目前最新版为0.6.3,很多介绍都是使用openssl的方法,感觉 xca 的 GUI 操作方法更合我们的口味:)
2. 生成Root CA私钥与证书:
2.1 先生成RootCA私钥-->使用私钥生成CSR-->生成自签名根证书。用来给二级CA证书签名。
3. 生成二级CA 私钥与证书:(假如有两个二级CA, 分别负责管理服务器端和客户端证书)
3.1 先生成ServerCA私钥-->使用私钥生成CSR-->使用根证书签名生成二级证书。用来给服务器证书签名。
3.2 先生成ClientCA私钥-->使用私钥生成CSR-->使用根证书签名生成二级证书。用来给客户端证书签名。
4. 生成服务器端与客户端的私钥与证书:
4.1 先生成ServerA私钥-->使用私钥生成CSR-->使用ServerCA证书签名生成三级证书。
4.2 先生成ClientA私钥-->使用私钥生成CSR-->使用ClientCA证书签名生成三级证书。
4.3 先生成ClientB私钥-->使用私钥生成CSR-->使用ClientCA证书签名生成三级证书
。。。。可以生成N个客户端证书
证书结构:
RootCA
|
|-------ServerCA
| |
| |--------ServerA
|
|-------ClientCA
|
|--------ClientA
|
|--------ClientB
|
|--------...
|
5. 导出RootCA的根证书、服务器端和客户端的私钥和证书。
导出时都使用pem格式。
RootCA.pem-------根证书(PEM )
ServerA.pem------服务器端证书(PEM with Certificate chain)
ClientA.pem------客户端证书(PEM with Certificate chain)
ClientB.pem------客户端证书(PEM with Certificate chain)
ServerAKey.pem------服务器端私钥(PEM )
ClientAKey.pem------客户端私钥(PEM )
ClientBKey.pem------客户端私钥(PEM )
6.下面是最重要的一步:生成需要使用的JKS文件。keytool工具不能导入私钥,需要利用到weblogic 提供的一个工具,需要把weblogic.jar加到CLASSPATH。
6.1 生成服务器和客户端的信任证书库:
keytool -import -alias rootca -file RootCA.pem -keystore trust.jks
6.2 生成服务器端身份密钥库:
java utils.ImportPrivateKey -keystore servera.jks -storepass 123456 -storetype JKS -keypass 123456 -alias servera -certfile ServerA.pem -keyfile ServerAKey.pem
6.3 生成客户端身份密钥库:
java utils.ImportPrivateKey -keystore clienta.jks -storepass 123456 -storetype JKS -keypass 123456 -alias clienta -certfile ClientA.pem -keyfile ClientAKey.pem ...生成其他客户端身份密钥库
7. keytool -list -v -keystore clienta.jks (servera.jks) 可以查看其中的证书链关系。
至此完成所有步骤,可以将JKS应用于SSL SOCKET 连接或 WebLogic 的 https 连接中。
转自:http://blog.chinaunix.net/uid-79084-id-97155.html
- 生成带证书链的数字证书
- openssl 生成证书的流程和原理|什么是数字证书?
- java 数字证书生成及证书的加密解密
- 使用jdk自带的keytool工具生成数字证书过程
- 生成自己的数字证书
- cxf+spring实现ws-security的数字证书验证方式的记录(包括生成证书步骤)
- 使用JDK自带的keytool工具生成证书
- 使用Java自带的keytool生成证书
- 利用java自带的keytool生成自签名证书
- 的工具生成数字证书,和用程序给数字证书签名、以及用签名后的数学证书签名applet突破applet的访问权限的过程
- 数字证书 X.509 证书
- 字证书的格式-标准的X.509数字证书
- 证书p12的生成
- 数字证书的授权链
- 生成自己定义的.pfx数字证书
- 生成自己定义的.pfx数字证书
- tomcat server 相关 数字证书 的生成
- tomcat配置https–采用JDK自带的keytool工具生成证书
- CSS中float属性
- OpenGL颜色和光照的应用
- 根据数据范围估算时间复杂度
- 棕追桌作滓做遵渍装昨嘴渍佐滓灼仔锥咨
- UML用例图中的包含、扩展和泛化
- 生成带证书链的数字证书
- Android长度单位详解(dp、sp、px、in、pt、mm、dip)
- 兹卓滋坐灼谆庄孜捉谆赘桩嘴自桩自渍综
- IOS7.1以后企业应用发布强制需要HTTPS协议
- c语言作业,,输入表达式并计算表达式的值
- 准纵卒做椎坠桩琢灼宗滋桌卒谞字邹座罪
- 网狐6603棋牌游戏源码设置前台控制帐号方法
- 座啄滓卓尊灼滋足捉紫拙专佐谞妆嘴最卒
- _attribute_((packed))