jetty 6.x https访问双向认证配置方法
来源:互联网 发布:国泰安数据库好不好用 编辑:程序博客网 时间:2024/06/10 01:24
打算给新开发的应用做https方式访问,采用双向认证的方式(即客户端需要校验服务器端证书,服务器端也需要校验客户端证书),在网上找了半天,都是东一句西一句的,没有一个比较全的,经过一番周折,终于搭起来了。讲讲主要的思路:
- 先给服务器端与客户端发证书(我用的是openssl)
- 创建服务器端的keystore,里面包含服务器端个人证书(带私钥)和可信任的CA根证书与客户端证书。
- 配置jetty.xml,设置https参数,包括端口号,keystore库位置,truststore库位置,口令,和双向认证方式。
1、用openssl发证
#在当前目录下创建openssl.cnf配置文件,可从openssl安装目录下拷贝一份,主要修改string_mask,从nombstr改为utf8only
string_mask = utf8only
#创建根证书私钥
openssl genrsa -des3 -out cakey.pem -passout pass:12345678 1024
#创建自签名的根证书
openssl req -utf8 -new -x509 -days 7300 -key cakey.pem -passin pass:12345678 -out cacert.crt -config openssl.cnf -set_serial 1 -subj "/CN=XX证书中心/OU=XX证书中心/O=XXXX公司"
#创建服务器的私钥
#openssl genrsa -des3 -out server.key 1024
#创建服务器的待签证书
openssl req -utf8 -new -key server.key -days 7300 -out server.csr -passin pass:12345678 -passout pass:12345678 -subj /CN=localhost/OU=XX证书中心/O=XXXX公司
#签发服务器证书(pem格式)
openssl ca -utf8 -config openssl.cnf -passin pass:12345678 -batch -in server.csr -out server.crt
#生成带私钥的pkcs12格式服务器证书
openssl pkcs12 -export -inkey server.key -in server.crt -out server.pfx -passin pass:12345678 -passout pass:12345678
#转换pem(base64)编码格式的服务器证书为der(二进制)编码格式
openssl x509 -in server.crt -inform pem -out server.der -outform der
#客户端证书生成依照服务器生成步骤再做一遍(注意,根证书不需要再次生成)。
2、导入证书到keystore中
#导入服务器个人证书(带私钥)到keystore中
keytool -importkeystore -srckeystore server.pfx -srcstoretype PKCS12 -keystore server.jks -srcstorepass 12345678 -deststorepass 12345678
#导入ca根证书和客户端证书到可信任证书链中
keytool -import -keystore server.jks -keypass 12345678 -storepass 12345678 -alias ca -trustcacerts -file cacert.crt
keytool -import -keystore server.jks -keypass 12345678 -storepass 12345678 -alias client -trustcacerts -file client.der
3、jetty.xml的配置(精简型,只运行一个应用,线程数也设置的很少)
配置好后,运行jetty,可在控制台窗口输出中看到启动信息。
4、浏览器中导入根证书cacert.crt和客户端证书client.pfx,然后访问
http://localhost:8443/
- jetty 6.x https访问双向认证配置方法
- jetty 6.x https访问双向认证配置方法
- jetty 6.x https访问双向认证配置方法
- https单向/双向认证及tomcat配置https方法
- https单向/双向认证及tomcat配置https方法
- tomcat配置https双向认证
- tomcat8配置https双向认证
- Nginx配置https双向认证
- nginx配置https双向认证
- Nginx配置https双向认证
- Nginx配置https双向认证
- tomcat6配置https (双向认证/单向认证)
- tomcat6配置https (双向认证/单向认证)
- Tomcat配置https单向双向认证,iOS加密解密验证,iOS访问HTTPS
- Tomcat配置https单向双向认证,iOS加密解密验证,iOS访问HTTPS
- Tomcat配置https单向双向认证,iOS加密解密验证,iOS访问HTTPS
- Android访问Https双向认证API
- lighttpd配置建立https双向认证
- electron打包
- 222
- Akka之配置文件加载
- 数据挖掘学习------------------2-关联规则-3-FP_Growth算法
- Kea DHCP配置介绍和基本使用
- jetty 6.x https访问双向认证配置方法
- iOS系统及微信中audio自动播放
- 设计模式-模板方法模式
- java自学网站资源List
- lesson 11:. 使用UDP协议编写一个网络程序,设置接收端程序的监听端口是8001,发送端发送的数据是“Hello, world”。
- 阿里云下linux系统mysql无法远程访问
- Highmaps 经纬度转换为svg图上坐标
- Matlab计算微分方程曲线求导及过曲线上点的切线方程
- ATPCS关于堆栈和寄存器的使用规则