一软件环境
openssl版本为openssl1.0.2g。
二操作步骤与命令
首先在openssl的安装目录下找到bin目录,并在bin目录下创建demoCA目录,并在demoCA目录下创建newcerts目录,在demoCA目录下创建空文件index.txt供openssl使用,此种方式使用的配置文件是openssl安装目录下的ssl目录下的openssl.cnf配置文件,即默认配置。也可以自己修改openssl.cnf以适应自己的使用环境。
- 进入openssl安装目录的bin目录下,默认的文件生成位置在bin目录下,创建CA根证书密钥,在命令行中执行:openssl genrsa -out myca.key 1024
- 生成CA根证书请求,openssl req -new -out myca.csr -key myca.key
- 利用自签名生成CA根证书,openssl x509 -req -in myca.csr -out myca.crt -signkey myca.key -days 36500
- 使用keytool生成服务端keypair,keytool -genkey -alias myserver -keyalg RSA -keystore myserver.keystore -storepass changeit -storetype jks ,您的名字与姓氏是什么?
[Unknown]: myserver.com
您的组织单位名称是什么?
[Unknown]: mycompany
您的组织名称是什么?
[Unknown]: mycompany
您所在的城市或区域名称是什么?
[Unknown]: bj
您所在的州或省份名称是什么?
[Unknown]: bj
该单位的两字母国家代码是什么
[Unknown]: cn
CN=myserver.com, OU=mycompany, O=mycompany, L=bj, ST=bj, C=cn 正确吗?输入y后回车
- 生成服务器证书请求文件,keytool -certreq -alias myserver -keyalg RSA -file myserver.csr -keystore myserver.keystore
- 使用CA根证书签署服务器请求文件,生成服务器证书, openssl x509 -req -in myserver.csr -CA myca.crt -CAkey myca.key -CAcreateserial -days 3650 -out myserver.crt
- 先将CA根证书导入到keystore中,keytool -import -alias ca -trustcacerts file myca.crt -keystore myserver.keystore
- 将myserver证书导入keystore中,keytool -import -alias myserver -trustcacerts file myserver.crt -keystore myserver.keystore
- 由于keytool工具不支持密钥导出,可以使用keyexport这个小工具来导出存在keystore中的密钥,下载地址http://download.youkuaiyun.com/detail/cs02308/9462286,导出myserver.keystore中的密钥。