1,key配置:
Windows:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
Unix:
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
注:在生成keystore文件的时候,需要将“您的名字与姓氏是什么”指定为网站域名,否则httpclient无法正常访问;
2,修改server.xml配置文件:
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<
Connector acceptCount="100" clientAuth="false" disableUploadTimeout="true"
enableLookups="false" maxHttpHeaderSize="8192" maxSpareThreads="75"
maxThreads="150" minSpareThreads="25" debug="1" port="8443" scheme="https"
secure="true" sslProtocol="TLS" keystoreFile="d:\.keystore" keystorePass="123456" keystoreType="JKS"/>
主要是要指定密钥文件存放位置、密码和存储类型:
keystoreFile="d:\.keystore" keystorePass="123456" keystoreType="JKS"
对于web端访问,上述即可;
3,对于HttpClient(或HttpsURLConnection)访问,需要用如下方法实现:
URL url = new URL(httpsUrl);
// pr[color=red]oxyHost="192.168.3.200";
// proxyPort=808;
// Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort));
// // Sock
InputStream fis = XmlChannel.class.getResourceAsStream("/.keystore");
KeyStore keyStore = KeyStore.getInstance("JKS");
keyStore.load(fis, "123456".toCharArray());
KeyManagerFactory keyManager = KeyManagerFactory.getInstance("SunX509");
keyManager.init(keyStore, "123456".toCharArray());
TrustManager[] trustMangers;
TrustManagerFactory trustManagerFatory = TrustManagerFactory.getInstance("SunX509");
trustManagerFatory.init(keyStore);
// fis = XmlChannel.class.getResourceAsStream("/.keystore");
// KeyStore ts = KeyStore.getInstance("JKS");
// ts.load(fis, "123456".toCharArray());
//
// trustManagerFatory.init(ts);
trustMangers = trustManagerFatory.getTrustManagers();
SSLContext sslContext = SSLContext.getInstance("SSL");
sslContext.init(keyManager.getKeyManagers(), trustMangers, null);
SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
HttpsURLConnection conn = null; conn = (HttpsURLConnection) url.openConnection();
conn.[/color]setSSLSocketFactory(sslSocketFactory);
更加详细的情况可以参考tomcat的说明文档
分享到:
相关推荐
本资源是一个 CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证配置示例。详细如何配置请参考博客《图文:CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证》,地址是:...
打开Tomcat根目录下的/conf/server.xml,找到如下配置段,修改如下: maxThreads="150" scheme="https" secure="true" clientAuth="true" sslProtocol="TLS" keystoreFile="C:/tmp/tomcat.keystore" ...
基于SSL验证的Apache CXF客户端设计 1,服务器端Tomcat配置SSL支持 2,服务器端Web Service接口设计 3,客户端访问设计,包括代码和配置文件 详情请看博客:...
本报告就如何配置SSL/TLS以提供最先进的身份验证和加密技术提出了一般性建议。ssl引擎提供的选项是从 自从Netscape开发SSL2.0以来的早期。TLS的引入使问题变得更具有挑战性,因为服务器和客户端根据各个ssl引擎提供...
客户端和服务器分别用cas-client-2.0.11和cas-server-2.0.12实现,屏蔽了SSL 支持JDK1.4以上版本。支持默认拦截方式登录验证,并支持由服务器端登陆后手动跳转不同客户端服务。
使用方法见:https://blog.csdn.net/upset_ming/article/details/96491058 1. 修改了前一版本中证书验证的bug,支持JDK8的高版本 2. 支持国密SSL双向认证 3. 将过期的国密证书替换为新证书
shibboleth-tomcat-dta-ssl 该项目是作为 Unicon一部分开发的。 提供此模块的专业支持... Tomcat servlet 容器的多个版本的简单 JSSE 实现,需要客户端证书身份验证,但将证书的所有信任验证委托给接收请求的应用程序。
在JSSE中包含了数据加密,服务器验证,消息完整性和客户端验证等技术。通过使用JSSE,可以在Client和Server之间通过TCP/IP协议安全地传输数据。 为了实现消息认证。 Server需要: 1)KeyStore: 其中保存服务端的...
OpenJMS是一个开源的Java Message Service API 1.0.2 规范的实现,它包含有以下特性: *. 它既支持点到点(point-to-point)(PTP)模型和发布/订阅(Pub/Sub)... 客户端验证 *. 提供可靠消息传输、事务和消息过滤
第一个是当时最终的课程设计客户端是浏览器,服务端是tomcat双向认证只需要对两者进行配置并不需要自己真的实现代码。 第二个是虽然课程也有接近双向认证的实现代码,但当时是Java+JCE环境现在要用C+++OpenSSL环境,...
xml java系统源码 ...clientAuth:设置是否双向验证,默认为false,设置为true代表双向验证keystoreFile keystoreFile: keystore证书的路径 keystorePass: 生成keystore时的口令``` --------------------
23.3. 为tomcat配置SSL 24. 替换验证身份 24.1. 概述 24.2. 配置 A. 安全数据库表结构 A.1. User表 A.1.1. 组权限 A.2. 持久登陆(Remember-Me)表 A.3. ACL表 A.3.1. Hypersonic SQL A.3.1.1. ...
22.3. 为tomcat配置SSL 23. 替换验证身份 23.1. 概述 23.2. 配置 A. 安全数据库表结构 A.1. User表 A.1.1. 组权限 A.2. 持久登陆(Remember-Me)表 A.3. ACL表 A.3.1. Hypersonic SQL A.3.1.1. PostgreSQL...
33.3在Tomcat中设置SSL 254 34.运行认证替换 255 34.1概述 255 34.2配置 255 35. Spring Security加密模块 257 35.1简介 257 35.2加密器 257 35.2.1 BytesEncryptor 257 35.2.2 TextEncryptor 258 35.3关键发电机 ...
23.3. 为tomcat 配置SSL 24. 替换验证身份 24.1. 概述 24.2. 配置 A. 安全数据库表结构 A.1. User 表 A.1.1. 组权限 A.2. 持久登陆(Remember-Me)表 A.3. ACL 表 A.3.1. Hypersonic SQL A....
76.6. 如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置 87 76.7. 如何查看在weblogic中已经发布的EJB? 87 76.8. 说说在weblogic中开发消息Bean时的persistent与non-persisten的差别 87...
7.1 配置任意目录下的web应用程序 240 7.2 war文件 242 7.3 tomcat中servlet的另一种运行方式 244 7.4 与servlet配置相关的元素 247 7.4.1 [servlet]元素及其子元素 247 7.4.2 [servlet-mapping]元素及其子元素...
7.1 配置任意目录下的web应用程序 240 7.2 war文件 242 7.3 tomcat中servlet的另一种运行方式 244 7.4 与servlet配置相关的元素 247 7.4.1 [servlet]元素及其子元素 247 7.4.2 [servlet-mapping]元素及其子元素...
7.1 配置任意目录下的web应用程序 240 7.2 war文件 242 7.3 tomcat中servlet的另一种运行方式 244 7.4 与servlet配置相关的元素 247 7.4.1 [servlet]元素及其子元素 247 7.4.2 [servlet-mapping]元素及其子元素...
7.1 配置任意目录下的web应用程序 240 7.2 war文件 242 7.3 tomcat中servlet的另一种运行方式 244 7.4 与servlet配置相关的元素 247 7.4.1 [servlet]元素及其子元素 247 7.4.2 [servlet-mapping]元素及其子元素...