用Keytool和OpenSSL生成和签发数字证书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4.2.1 建立工作目录

demoCA

4.2.2 生成CA私钥以及自签名根证书

4.2.2.1 生成CA私钥

openssl genrsa -out demoCA\ca-key.pem 1024

4.2.2.2 生成待签名证书

openssl req -new -out demoCA\ca-req.csr -key demoCA\ca-key.pem

4.2.2.3 用CA私钥进行自签名

openssl x509 -req -in demoCA\ca-req.csr -out ca\ca-cert.pem -signkey demoCA\ca-key.pem -days 365

4.3 设置Tomcat 4.x

在本文中用符号"%JDK_HOME%"来表示JDK的安装位置,用符号"%TCAT_HOME%" 表示Tomcat的安装位置。

4.3.1建立工作目录

mkdir server

4.3.2 生成server端证书

4.3.2.1 生成KeyPair

%JDK_HOME%\bin\keytool -genkey -alias tomcat_server -validity 365 -keyalg RSA -keysize 1024 -keypass 123456 -storepass 123456 -keystore server\server_keystore

4.3.2.2 生成待签名证书

%JDK_HOME%\bin\keytool -certreq -alias tomcat_server -sigalg

MD5withRSA -file server\server.csr -keypass 123456 -keystore

server\server_keystore -storepass changeit

4.3.2.3 用CA私钥进行签名

openssl x509 -req -in server\server.csr -out server\server-cert.pem -CA demoCA\ca-cert.pem -CAkey demoCA\ca-key.pem -CAserial

demoCA/ca-cert.srl -CAcreateserial -days 365

4.3.2.4 导入信任的CA根证书到JSSE的默认位置

(%JDK_ROOT %/jre/security/cacerts)

%JDK_HOME%\bin\ keytool -import -v -trustcacerts -storepass 123456

-alias my_ca_root -file demoCA\ca-cert.pem

-keystore %JDK_HOME%\jre\lib\security\cacerts

4.3.2.5 把CA签名后的server端证书导入keystore

%JDK_HOME%\bin\keytool -import -v -trustcacerts -storepass changeit

-alias tomcat_server -file server\server-cert.pem -keystore

server\server_keystore

%JDK_HOME%\bin\keytool -import -v -alias tomcat_server -file

server\server-cert.pem -storepass 123456 -keystore server_keystore

4.3.2.6 查看server端证书

keytool -list -keystore %JDK_HOME%\jre\lib\security\cacerts

keytool -list -keystore server\server_keystore

4.3.3 修改server.xml使Tomcat支持SSL

首先找到以下内容,去掉对其的注释。然后参照红色部分修改。如果配置Tomcat不验证客户身份,可以设置

clientAuth="false"。

enableLookups="true"

acceptCount="10" debug="0" scheme="https" secure="true">

keystoreFile="%TCAT_HOME%/conf/server_keystore"

keystorePass="changeit"

/>

然后把文件server\server_keystore复制到目录%TCAT_HOME%\conf\下。

4.4 在IE中安装个人证书

4.4.1 建立工作目录

mkdir client

4.4.2 生成client私钥并用CA私钥签名

4.4.2.1 生成client私钥

openssl genrsa -out client\client-key.pem 1024

4.4.2.2 生成待签名证书

openssl req -new -out client\client-req.csr -key client\client-key.pem

4.4.2.3 用CA私钥进行签名

openssl x509 -req -in client\client-req.csr -out client\client.crt -signkey

client\client-key.pem

-CA ca\ca-cert.pem -CAkey ca\ca-key.pem -CAcreateserial -days 365

4.4.2.4 生成client端的个人证书

因为JSSE1.0.2没有完全实现了对PKCS#12格式文件的操作(只能读取,不能输出),所以在这里需要用openssl制作client端的个人证书(包含私钥)。

openssl pkcs12 -export -clcerts -in client\client.crt -inkey

client\client-key.pem -out client\client.p12

4.4.2.5 安装信任的根证书

相关文档
最新文档