`
lclcr
  • 浏览: 124638 次
  • 性别: Icon_minigender_1
  • 来自: 山东
社区版块
存档分类
最新评论

Tomcat配置SSL的客户端认证

    博客分类:
  • JAVA
阅读更多
        证书保存在服务器端,用户通过浏览器访问时,需要将证书下载保存到本地,表示信任服务器站点。
        环境:tomcat-6.0.18、jdk1.6.0_18
        1. 生成密钥库
keytool -genkeypair -v -keyalg RSA -alias lcl -keystore e:\lcl.keystore

输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
  [Unknown]:  LCL
您的组织单位名称是什么?
  [Unknown]:  CR
您的组织名称是什么?
  [Unknown]:  COM
您所在的城市或区域名称是什么?
  [Unknown]:  BJ
您所在的州或省份名称是什么?
  [Unknown]:  BJ
该单位的两字母国家代码是什么
  [Unknown]:  CN
CN=LCL, OU=CR, O=COM, L=BJ, ST=BJ, C=CN 正确吗?
  [否]:  Y

正在为以下对象生成 1,024 位 RSA 密钥对和自签名证书 (SHA1withRSA)(有效期为 90 天):
		 CN=LCL, OU=CR, O=COM, L=BJ, ST=BJ, C=CN
输入<lcl>的主密码
		(如果和 keystore 密码相同,按回车):
[正在存储 e:\lcl.keystore]

        2. 创建证书文件(我们这里为自我认证-需要)
keytool -exportcert -alias lcl -file e:\lcl.cer -keystore e:\lcl.keystore

输入keystore密码:
保存在文件中的认证 <lcl.cer>

        这里通过KeyTool工具直接导出的证书,是一个自签名的X.509第三版类型的根证书,并以Base64编码保存。自签名证书虽然可以使用,但未经过CA机构认证,几乎没有任何法律效力。
        2. 构建CA签发证书(我们这里不需要此处的2)
        如果要获取CA机构认证的数字证书,需要将数字证书签发申请(CSR)导出,经由CA机构认证并颁发,同时将认证后的证书导入本地密钥库和信任库。
keytool -certreq -alias lcl -file e:\lcl.csr -keystore e:\lcl.keystore

输入keystore密码:

        生成一个请求签名的证书,用来发送给CA,让CA认证后返还给当前申请人,此处我们为自认证。
        比如CA认证后返回给用户的证书为:catrust.cer
        我们可以通过命令keytoool -printcert 来查看证书的信息
        我们通过命令将其导入到你的密钥库keystore中
keytool -importcert  -trustcacerts -alias lcl -file catrust.cer

        3. 将证书文件导入到自己的密钥库
keytool -importcert -alias lcr -file e:\lcl.cer -keystore e:\lcl.keystore

输入keystore密码:
在 <lcl> 的别名之下,认证已经存在 keystore 中
您仍然想要添加它吗? [否]:  y
认证已添加至keystore中

        4. 将lcl.keystore和lcr.cer拷贝到tomcat的根目录下,我拷贝到c:\tomcat(这是我的tomcat安装目录)下
        5. 配置TOMCAT
        修改%TOMCAT_HOME%\conf\server.xml
        a.)注释掉8080配置
        b.)配置8443
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
		   maxThreads="150" scheme="https" secure="true"
		   keystoreFile="lcl.keystore" keystorePass="aaaaaaa"
		   clientAuth="false" sslProtocol="TLS" />
<!--
https默认的端口是443,若此处设置为443则访问时无需再写端口号
-->

         6. 测试
https://localhost:8443/

<<OVER>>
分享到:
评论

相关推荐

    apache-tomcat配置SSL双向认证

    本文档基于JDK+apache-tomcat运行环境进行客户端和服务器端https配置,即SSL双向认证配置

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

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

    通过tomcat实现SSL双向认证

    要实现SSL双向认证, 你必须同时配置Web服务器证书和客户端证书, 并且需要在服务器和客户端之间正确安装根证书。如此方可实现如文所示双向认证。

    tomcat SSL的配置

    由于是双向SSL认证,服务器必须要信任客户端证书,因此,必须把客户端证书添加为服务器的信任认证。由于不能直接将PKCS12格式的证书库导入,我们必须先把客户端证书导出为一个单独的CER文件,使用如下命令: keytool...

    tomcat android 双向ssl通信

    呕心沥血,实践出真知,tomcat的ssl配置,实现双向通信。

    利用keytools为tomcat 7配置ssl双向认证的方法

    双向认证和单向认证原理基本差不多,只是除了客户端需要认证服务端以外,增加了服务端对客户端的认证,下面这篇文章主要介绍了利用keytools为tomcat 7配置ssl双向认证的方法,需要的朋友可以借鉴,下面来一起看看吧...

    用keytool生成证书,双向SSL认证配置的方法

    用keytool生成证书,双向SSL认证配置的方法,以Tomcat举例。包含步骤:一、为服务器生成证书;二、为客户端生成证书;三、让服务器信任客户端证书;四、让客户端信任服务器证书。

    ssl证书(nginx+tomcat+java代码适用)

    ssl自制全套证书(包含服务器端、客户端、ca端的证书,格式有.crt,.key,.truststore,.keystore,.p12,.cer,.pem等类型),当时要配置webservice接口、tomca、nginx通过ssl访问的证书,弄了好久才生成了一套能使用的。...

    Openssl实现双向认证教程(附服务端客户端代码)

    第一个是当时最终的课程设计客户端是浏览器,服务端是tomcat双向认证只需要对两者进行配置并不需要自己真的实现代码。 第二个是虽然课程也有接近双向认证的实现代码,但当时是Java+JCE环境现在要用C+++OpenSSL环境,...

    Spring Security 中文教程.pdf

    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. ...

    SpringSecurity 3.0.1.RELEASE.CHM

    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...

    Spring Security-3.0.1中文官方文档(翻译版)

    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....

    spring security 参考手册中文版

    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关键发电机 ...

    java面试题

    76.6. 如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置 87 76.7. 如何查看在weblogic中已经发布的EJB? 87 76.8. 说说在weblogic中开发消息Bean时的persistent与non-persisten的差别 87...

    Java面试宝典2010版

    13、如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置? 14、如何查看在weblogic中已经发布的EJB? 十. EBJ部分 1、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,...

    最新Java面试宝典pdf版

    1、Tomcat的优化经验 85 2、HTTP请求的GET与POST方式的区别 85 3、解释一下什么是servlet; 85 4、说一说Servlet的生命周期? 86 5、Servlet的基本架构 86 6、SERVLET API中forward() 与redirect()的区别? 86 7、什么...

    java开源包1

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包11

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包2

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    java开源包3

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

Global site tag (gtag.js) - Google Analytics