`
hooke
  • 浏览: 42590 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

tomcat 下SSL客户端验证相关配置

阅读更多
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的说明文档


 
  

分享到:
评论
1 楼 szc8 2008-12-02  
请问IE访问tomcatSS时候,tomcat 如何信任所有证书

相关推荐

    Nginx+Tomcat配置SSL双向验证示例

    本资源是一个 CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证配置示例。详细如何配置请参考博客《图文:CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证》,地址是:...

    tomcat实现SSL双向认证

    本文将详细介绍如何在 Tomcat 中实现 SSL 双向认证,包括使用 JDK 的 keytool 工具创建证书、配置 Tomcat 服务器和客户端证书等。 一、SSL 双向认证的重要性 在 Web 应用程序中,安全性是非常重要的,特别是在涉及...

    tomcat+SSL

    - SSL握手过程包括:客户端发送版本和加密信息,服务器响应并发送证书,客户端验证证书并发送预主密钥,服务器解密并生成会话密钥,最后双方通知对方使用会话密钥进行加密通信。 二、Tomcat实现SSL配置 **第一步:...

    tomcat SSL的配置

    打开Tomcat根目录下的/conf/server.xml,找到如下配置段,修改如下: maxThreads="150" scheme="https" secure="true" clientAuth="true" sslProtocol="TLS" keystoreFile="C:/tmp/tomcat.keystore" ...

    tomcat配置ssl教程

    在Tomcat中配置SSL,可以为你的Web应用提供加密和身份验证功能,对于处理敏感用户信息的应用来说至关重要。 配置Tomcat SSL的过程主要包括以下几个步骤: 1. **生成密钥对**:首先,你需要创建一个私钥和对应的...

    AndroidHttpClient访问Tomcat双向SSL验证服务器.pdf

    本文详细介绍了如何使用`AndroidHttpClient`访问`Tomcat`双向SSL验证服务器的过程,包括证书生成、Tomcat配置、客户端验证等多个方面。通过对这些步骤的详细解析,不仅解决了实际项目中的问题,也为读者提供了一个...

    tomcat android 双向ssl通信

    3. **客户端配置**:在安卓设备上安装证书,并配置相关的SSL支持,确保应用可以进行安全的HTTPS请求。 4. **代码编写与测试**:编写安卓代码以使用SSL,并通过实际访问测试整个流程是否顺畅。 #### SSL通信中的...

    Tomcat_SSL.rar_JAVA SSL _ssl_ssl java_tomcat_tomcat ssl

    3. **密钥库与信任库**:`keystore`包含服务器的私钥和证书,而`truststore`用于存储客户端证书(如果需要客户端验证)。`truststoreFile`和`truststorePass`属性分别指定信任库文件和密码。 4. **启用Client ...

    tomcat配置ssl-单点登录(sso).rar

    2. 配置CAS客户端:在每个需要SSO的应用(即Tomcat上的Web应用)中,配置CAS客户端库,如jasig-cas-client,修改`web.xml`文件,设置相关参数如CAS服务器URL和服务验证URL。 3. 跨域配置:如果应用分布在不同的域下...

    Tomcat配置SSL双向认证

    ### Tomcat配置SSL双向认证详解 #### 一、SSL双向认证概述 SSL(Secure Sockets Layer,安全套接层)是一种用于确保Web通信安全的技术,它通过加密数据传输来保护信息不被未授权访问。SSL协议的核心是实现客户端与...

    通过tomcat实现SSL双向认证

    SSL 双向认证是一种高级的身份验证机制,它需要同时配置 Web 服务器证书和客户端证书,并在服务器和客户端之间正确安装根证书。下面将详细介绍如何通过 Tomcat 实现 SSL 双向认证。 概念:SSL/TLS SSL/TLS 是一种...

    tomcat的双向ssl配置

    标题中的“Tomcat的双向SSL配置”涉及到的是网络通信安全领域的一个重要概念,即Transport Layer Security(传输层安全)协议的双向身份验证。在传统的SSL/TLS连接中,服务器通常被验证,但客户端的身份可能不被确认...

    apache-tomcat配置SSL双向认证

    在本文中,我们将深入探讨如何在Tomcat 6环境中设置SSL双向认证,确保客户端和服务器之间的通信既加密又经过身份验证。 首先,系统需要满足以下前提条件: 1. JDK 5.0 或更高版本 2. Tomcat 6.0.16 或更新版本 **...

    Tomcat5.5配置SSL精简版

    5. **修改Tomcat配置**:打开Tomcat的`conf/server.xml` 文件,找到`&lt;Connector&gt;` 标签,添加SSL配置。例如: ```xml SSLEnabled="true" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" ...

    tomcat 配置ssl 证书

    配置SSL(Secure Socket Layer)证书是确保网站数据传输安全的重要步骤,因为SSL可以提供加密通信和身份验证。以下将详细讲解如何在Tomcat中配置SSL证书。 首先,了解SSL证书的基本概念。SSL证书包含了一个公钥和...

    Tomcat SSL解决方案

    标题“Tomcat SSL解决方案”指的是在Apache Tomcat服务器上配置SSL(Secure Sockets Layer)或其更新版本TLS(Transport Layer Security)的过程,以实现安全的数据传输。SSL/TLS是网络通信中广泛使用的加密协议,...

    Windows +tomcat +SSL

    接下来需要修改Tomcat的`server.xml`配置文件,使Tomcat支持SSL连接: ```xml maxThreads="150" scheme="https" secure="true" sslProtocol="TLS" clientAuth="true" keystoreFile="D:\tomcat.keystore" ...

    tomcat搭建ssl服务

    此外,SSL还提供了身份验证功能,服务器通过证书向浏览器证明其身份,有时甚至会请求客户端的证书进行双向认证。 ### 1. SSL简介 - **加密通信**:SSL通过加密技术确保数据在客户端和服务器之间传输时的隐私性,...

Global site tag (gtag.js) - Google Analytics