Chinaunix首页 | 论坛 | 博客
  • 博客访问: 445038
  • 博文数量: 89
  • 博客积分: 2713
  • 博客等级: 少校
  • 技术积分: 938
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-18 21:19
个人简介

为了成为自由自在的人而奋斗!

文章分类

全部博文(89)

文章存档

2016年(5)

2015年(9)

2014年(2)

2013年(10)

2012年(1)

2011年(30)

2010年(32)

分类: 网络与安全

2013-09-02 23:34:53

OpenSSL安全证书的生成步骤:

这是国产数据库-达梦数据库-安全证书的生成过程。达梦数据库V7采用基于SSL的安全加密通信。

0.准备工作
安装openssl
在bin目录下建立ca文件夹
ca文件夹下建立newcerts,private文件夹
建立index.txt和serial文件,serial文件中深入内容01
更改配置文件dir        = ./demoCA                     为dir        = ./CA    
            certificate    = $dir/cacert.pem       为certificate    = $dir/ca-cert.pem
            private_key    = $dir/private/cakey.pem为private_key    = $dir/private/ca-key.pem

设置环境变量OPENSSL_CONF为C:\OpenSSL\bin\openssl.cfg
进入openssl命令提示后
1.创建根密钥和证书请求
req -new -x509 -keyout ca/private/cakey.pem -out ca/ca-cert.pem -config openssl.cfg

2.创建服务器和客户端密钥
genrsa -out server-key.pem 1024
genrsa -out client-key.pem 1024

3.创建服务器和客户端的证书请求
req -new -key server-key.pem -out server.csr -config openssl.cfg
req -new -key client-key.pem -out client.csr -config openssl.cfg

4.证书签名
ca -in server.csr -out server-cert.pem -cert ca/ca-cert.pem -keyfile ca/private/ca-key.pem -config openssl.cfg
ca -in client.csr -out client-cert.pem -cert ca/ca-cert.pem -keyfile ca/private/ca-key.pem -config openssl.cfg

5.证书签名如果遇到下面的问题,可以清空index.txt文件内容后正常生成
Certificate is to be certified until Oct 16 05:51:39 2021 GMT (3650 days)
Sign the certificate? [y/n]:y
failed to update database
TXT_DB error number 2

6.证书签名如果遇到省份城市等不匹配时,可以修改openssl.cfg文件中的配置
# For the CA policy
[ policy_match ]
countryName        = match
stateOrProvinceName    = optional
organizationName    = optional
organizationalUnitName    = optional
commonName        = supplied
emailAddress        = optional

---------------------------------------------------------------------------------------------------------------------------
生成java的keystore,使用jdk提供的keytool工具, 最后生成的文件为.keystore
1.建立.keystore文件,需要填写证书信息,注意第一项是用户名,需要和达梦数据库用户名“SYSDBA”一致
keytool -genkey -keyalg RSA -alias client -keystore .keystore -storepass changeit -storetype jks
您的名字与姓氏是什么?
 [Unknown]:  SYSDBA
您的组织单位名称是什么?
 [Unknown]:  DAMENG
您的组织名称是什么?
 [Unknown]:  HUST
您所在的城市或区域名称是什么?
 [Unknown]:  WUHAN
您所在的州或省份名称是什么?
 [Unknown]:  HUBEI
该单位的两字母国家代码是什么
 [Unknown]:  CN
N=SYSDBA, OU=DAMENG, O=HUST, L=WUHAN, ST=HUBEI, C=CN 正确吗?
 [否]:  是

输入的主密码
       (如果和 keystore 密码相同,按回车):
       
2. 得到证书请求文件client.csr
keytool -certreq -alias client -keyalg RSA -file client.csr -keystore .keystore

3. CA签署证书,生成 client.pem
openssl ca -keyfile ca/private/ca-key.pem -cert ca/ca-cert.pem -in client.csr -out client.pem -config openssl.cfg

4. 转换client.pem格式,生成 client.cer
openssl x509 -in client.pem -out client.cer

5. 导入CA证书到keystore
keytool -import -alias ca -trustcacerts -file ca-cert.pem -keystore .keystore

6. 导入用户的证书 client.cer到keystore
keytool -import -alias client -trustcacerts -file client.cer -keystore .keystore


原文http://wangh8080.blog.163.com/blog/static/1978482972012102325713674/

阅读(1702) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~