Linux下的shelle脚本(注意最后一行keytool命令位于$JAVA_HOME/bin下):
md ca
md client
md server
md jks
openssl genrsa -out ca/ca-key.pem 2048
openssl req -new -out ca/ca-req.csr -key ca/ca-key.pem
openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -days 3650
openssl pkcs12 -export -clcerts -in ca/ca-cert.pem -inkey ca/ca-key.pem -out ca/ca.p12
openssl genrsa -out server/server-key.pem 2048
openssl req -new -out server/server-req.csr -key server/server-key.pem
openssl x509 -req -in server/server-req.csr -out server/server-cert.pem -signkey server/server-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 3650
openssl pkcs12 -export -clcerts -in server/server-cert.pem -inkey server/server-key.pem -out server/server.p12
openssl genrsa -out client/client-key.pem 2048
openssl req -new -out client/client-req.csr -key client/client-key.pem
openssl x509 -req -in client/client-req.csr -out client/client-cert.pem -signkey client/client-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 3650
openssl pkcs12 -export -clcerts -in client/client-cert.pem -inkey client/client-key.pem -out client/client.p12
keytool -keystore jks/truststore.jks -keypass changeit -storepass 123456 -alias ca -import -trustcacerts -file ca/ca-cert.pem
tomcat的conf目录下server.xml片段:
<Connector
SSLEnabled="true"
clientAuth="true"
maxThreads="150"
port="443"
protocol="HTTP/1.1"
scheme="https"
secure="true"
sslProtocol="TLS"
keystoreFile="conf/server.p12"
keystorePass="123456"
keystoreType="PKCS12"
truststoreFile="conf/ca.p12"
truststorePass="123456"
truststoreType="PKCS12" />
参考文章:
《实现Tomcat双向认证》
2012.03.29 15:40补充:
不知道为什么,按上面所说配置的server.xml没有起作用,改成JKS方式的truststore才能成功,如下:
<Connector
port="8443"
protocol="HTTP/1.1"
SSLEnabled="true"
maxThreads="150"
scheme="https"
secure="true"
clientAuth="true"
sslProtocol="TLS"
keystoreFile="/Applications/tomcat/ssl/server/server.p12"
keystorePass="123456"
keystoreType="PKCS12"
truststoreFile="/Applications/tomcat/ssl/jks/truststore.jks"
truststorePass="123456"
truststoreType="JKS"/>
分享到:
相关推荐
#### Tomcat和Openssl构建HTTPS双向认证 ###### 选择HTTPS WEB服务器 Linux下安装OpenSSL 一、创建服务器证书、客户端证书以及CA 1、生成--服务器端--私钥和证书请求 2、生成--客户端-----私钥和证书请求 3、生成...
docker构建nginx双向认证https服务器。 openssl命令生成双向认证自签名证书。 nginx配置https(tls)服务。 浏览器访问服务器需要导入客户端证书到浏览器中。
使用openssl生成IIS可用的SHA-256自签名证书 超详细步骤!
https目前广泛流行,现提供openssl自签名证书的命令和基本验证命令。
你可以用它搭建自己的专属CA服务器,以方便为用户生成私钥、证书请求、颁发证书、吊销证书、证书续期、证书吊销列表等。它可以生成多种类型的证书,包括且不限于web服务器、代码、计算机、客户端、信任列表、时间戳...
他们会给你发来两个cer文件,一个是服务器证书,一个是根证书 如果你只是要使用https,那么证书自己签署就可以了。 在命令行下进入刚才解压的目录,找到openssl.exe所在的目录,执行以下命令 openssl x509 -req -...
主要介绍了Nginx配置SSL自签名证书的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
OpenSSL证书创建工具,用于证书创建、自签名等。 仅提取了openssl.exe、必须的2个DLL以及配置文件,直接解压后即可使用。 可参考我的博客《使用OpenSSL创建自签名证书》查看使用方法。
openssl+keytool+tomcat自签名证书
openssl是当前非常流行的SSL密码库工具,如果服务器或者网站需要使用https协议,就需要使用openssl工具生成证书
通过OpenSSL生成的ssl证书,用于windows下用nginx配置https服务器( OpenSSL创建证书) 无需再下载OpenSSL,配置OpenSSL相关环境,在进行命令生成证书
利用openssl和curl库获取https证书
包含OpenSSL工具和使用安装文档,简单的命令。。。。。
用openssl命令制作生成证书和自签名
使用OpenSSL生成密钥与证书,并进行双向验证
使用OpenSSL为基于IIS的站点创建服务器端证书及客户端证书,实现双向认证。
文档中详细介绍了如何利用openssl制作ca证书的步骤 代码则实现可将ca证书安装到浏览器的受信任根证书的功能
OpenSSL 证书生成器 可用于apache的ssl证书生成