- 浏览: 599553 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
SSL(Secure Sockets Layer 加密套接字协议层)
SSL是一个安全协议,它提供使用TCP/IP的通信应用程序间的隐私与完整性。因特网的超文本传输协议(HTTP)使用SSL来实现安全的通信。
基本逻辑:
1、生成服务端密钥库并导出证书;(生成server.jks文件服务器需要识别)
2、生成客户端密钥库并导出证书;(生成custom.p12文件)
3、根据客户端密钥库生成客户端信任的证书;(将custom.p12文件生成custom.cer文件)
4、将客户端证书导入服务端密钥库;(将custom.cer文件导入server.jks文件)
5、将服务端证书导入浏览器。(将server.jks文件生成server.cer文件浏览器需要识别)
一.tomcat6配置双向认证
1、生成服务器端证书
强调:服务端的CN值必须为域名,不然客户端认证时为非法。
2、生成客户端证书
客户端的CN可以是任意值。
3、由于是双向SSL认证,服务器必须要信任客户端证书,因此,必须把客户端证书添加为服务器的信任认证。由于不能直接将PKCS12格式的证书库导入,我们
(1)必须先把客户端证书导出为一个单独的CER文件,使用如下命令,先把客户端证书导出为一个单独的cer文件:
(2)然后,添加客户端证书到服务器中(将已签名数字证书导入密钥库)将客户端cer文件导入到tomcat可以识别的文件.jks文件
(3)从服务器证书库中导出服务器证书(把server.cer文件导入到浏览器中才不会报证书错误)浏览器需要识别服务器cer文件
4、查看证书详细(-v)内容
5、配置Tomcat service.xml文件
不设置truststoreFile,truststorePass属性,即默认指向"%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS"文件(JKS类型),则在双向认证中,需把客户端认证导入到此
文件中.
clientAuth=”true”表示双向认证 浏览器必须导入p12文件否则看不到登录页面
将tomcat的protocol参数由"HTTP/1.1"改成"org.apache.coyote.http11.Http11Protocol"
6、导入客户端证书到浏览器
双向认证需要强制验证客户端证书。双击“custom.p12”即可将证书导入至IE中。 在生成服务器端证书中的cn=127.0.0.1必须用这个ip不然会说证书错误。
安装证书时需要选择 将证书放入下列存储 然后点击 受信任的根证书
访问时必须:hppts://127.0.0.1:80/xxxx的形式 即使是80也需要加上而不能去掉
二.tomcat6配置单向认证
1、生成服务器端证书
2、从服务器证书库中导出服务器证书(把server.cer文件导入到浏览器中才不会报证书错误)
3、由于是单向认证,没有必要生成客户端的证书,直接进入配置tomcat service.xml文件,Xml代码
clientAuth="false"表示单向认证,同时去掉服务端的可信任认证,即:truststoreFile="D:/server.jks" truststorePass="password"这2个属性。
单向认证只需要把服务端的认证导入浏览器即可,而双向认证则需要安装用户的.p12文件和服务端认证。
当使用双向认证时可以在后台获得证书(注意是双向认证clientAuth=”true”时才能得到):
参考:http://www.blogjava.net/algz/articles/345601.html
http://www.blogjava.net/icewee/archive/2012/06/04/379947.html
SSL是一个安全协议,它提供使用TCP/IP的通信应用程序间的隐私与完整性。因特网的超文本传输协议(HTTP)使用SSL来实现安全的通信。
基本逻辑:
1、生成服务端密钥库并导出证书;(生成server.jks文件服务器需要识别)
2、生成客户端密钥库并导出证书;(生成custom.p12文件)
3、根据客户端密钥库生成客户端信任的证书;(将custom.p12文件生成custom.cer文件)
4、将客户端证书导入服务端密钥库;(将custom.cer文件导入server.jks文件)
5、将服务端证书导入浏览器。(将server.jks文件生成server.cer文件浏览器需要识别)
一.tomcat6配置双向认证
1、生成服务器端证书
X:\>keytool -genkey -keyalg RSA -dname "cn=127.0.0.1,ou=sango,o=none,l=china,st=beijing,c=cn" -alias server -keypass password -keystore d:\server.jks -storepass password -validity 3650
强调:服务端的CN值必须为域名,不然客户端认证时为非法。
2、生成客户端证书
X:\>keytool -genkey -keyalg RSA -dname "cn=sango,ou=sango,o=none,l=china,st=beijing,c=cn" -alias custom -storetype PKCS12 -keypass password -keystore d:\custom.p12 -storepass password -validity 3650
客户端的CN可以是任意值。
3、由于是双向SSL认证,服务器必须要信任客户端证书,因此,必须把客户端证书添加为服务器的信任认证。由于不能直接将PKCS12格式的证书库导入,我们
(1)必须先把客户端证书导出为一个单独的CER文件,使用如下命令,先把客户端证书导出为一个单独的cer文件:
X:\>keytool -export -alias custom -file d:\custom.cer -keystore d:\custom.p12 -storepass password -storetype PKCS12 -rfc
(2)然后,添加客户端证书到服务器中(将已签名数字证书导入密钥库)将客户端cer文件导入到tomcat可以识别的文件.jks文件
X:\>keytool -import -v -alias custom -file d:\custom.cer -keystore d:\server.jks -storepass password
(3)从服务器证书库中导出服务器证书(把server.cer文件导入到浏览器中才不会报证书错误)浏览器需要识别服务器cer文件
keytool -export -v -alias server -keystore d:\server.jks -storepass password -rfc -file d:server.cer
4、查看证书详细(-v)内容
keytool -list -v -keystore d:\server.jks -storepass password
5、配置Tomcat service.xml文件
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="true" sslProtocol="TLS" keystoreFile="D:/server.jks" keystorePass="password" truststoreFile="D:/server.jks" truststorePass="password" />
不设置truststoreFile,truststorePass属性,即默认指向"%JAVA_HOME%/JRE/LIB/SECURITY/CACERTS"文件(JKS类型),则在双向认证中,需把客户端认证导入到此
文件中.
clientAuth=”true”表示双向认证 浏览器必须导入p12文件否则看不到登录页面
将tomcat的protocol参数由"HTTP/1.1"改成"org.apache.coyote.http11.Http11Protocol"
6、导入客户端证书到浏览器
双向认证需要强制验证客户端证书。双击“custom.p12”即可将证书导入至IE中。 在生成服务器端证书中的cn=127.0.0.1必须用这个ip不然会说证书错误。
安装证书时需要选择 将证书放入下列存储 然后点击 受信任的根证书
访问时必须:hppts://127.0.0.1:80/xxxx的形式 即使是80也需要加上而不能去掉
二.tomcat6配置单向认证
1、生成服务器端证书
X:\>keytool -genkey -keyalg RSA -dname “cn=localhost,ou=sango,o=none,l=china,st=beijing,c=cn” -alias server -keypass password -keystore d:\server.jks -storepass password -validity 3650
2、从服务器证书库中导出服务器证书(把server.cer文件导入到浏览器中才不会报证书错误)
keytool -export -v -alias server -keystore d:\server.jks -storepass 123456 -rfc -file d:server.cer
3、由于是单向认证,没有必要生成客户端的证书,直接进入配置tomcat service.xml文件,Xml代码
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="D:/server.jks" keystorePass="password"/>
clientAuth="false"表示单向认证,同时去掉服务端的可信任认证,即:truststoreFile="D:/server.jks" truststorePass="password"这2个属性。
单向认证只需要把服务端的认证导入浏览器即可,而双向认证则需要安装用户的.p12文件和服务端认证。
当使用双向认证时可以在后台获得证书(注意是双向认证clientAuth=”true”时才能得到):
X509Certificate[] certs = (X509Certificate[]) req.getAttribute("javax.servlet.request.X509Certificate"); System.out.println(certs[0].getSigAlgName());
参考:http://www.blogjava.net/algz/articles/345601.html
http://www.blogjava.net/icewee/archive/2012/06/04/379947.html
发表评论
文章已被作者锁定,不允许评论。
-
html pre标签使用(保留空格和回车等操作)
2018-05-15 08:37 2442pre 元素可定义预格式化的文本。被包围在 pre 元素中的文 ... -
java RESTful 详解
2018-04-27 11:35 643(1)每一个URI代表一种资源,独一无二; (2)客户端 ... -
缓存穿透(预设值防止多个进程读取数据库)、缓存并发、缓存失效(过期时间用随机数)学习
2018-02-22 14:25 435一、缓存穿透 我们在项 ... -
web http协议学习
2017-11-15 15:15 514HTTP协议是web开发必须掌握的协议之一,文章的内容并没有按 ... -
spring boot进行mybatis和JPA的整合
2017-08-30 10:12 4683初识spring boot Spring框架功能很强大,但是就 ... -
如何解决常见的缓存穿透、并发和失效问题
2017-04-12 09:25 507缓存穿透与并发方案 相信不少朋友之前看过很多类似的文章,但是 ... -
系统架构设计理论与原则、负载均衡及高可用系统设计速记
2017-02-14 15:14 488一、系统架构设计理论与原则 这里主要介绍几种常见的架构设计理论 ... -
java Cookie操作总结
2017-02-04 09:14 475java对cookie的操作比较简单,主要介绍下建立cooki ... -
HTTP Cache机制学习(response meta标签)
2017-01-03 15:10 739HTTP Cache:response头部设置、http页面m ... -
java Statement和PreparedStatement的区别
2016-12-02 10:43 426第一 prepareStatement会先初始化SQL,先把这 ... -
java AtomicInteger基于CAS的乐观锁实现
2016-11-16 11:13 4711. 悲观锁与乐观锁 ... -
java Guava cache学习笔记
2016-11-15 18:26 734缓存,在我们日常开发中是必不可少的一种解决性能问题的方法。简单 ... -
公钥、私钥和SSL详细说明(生动例子)
2016-11-11 08:43 577一,公钥私钥 1,公钥 ... -
spring ehcache配置以及使用(afterPropertiesSet)
2016-11-08 19:24 1362spring 配置ehcache例子:http://blog. ... -
java 各个连接池学习总结(DBCP C3P0 PROXOOL)
2016-11-08 19:00 1242要了解Java连接池我们先要了解数据库连接池(conne ... -
java 过滤器、监听器和拦截器区别
2016-11-08 10:21 418过滤器 Servlet中的过滤器Filter是实现了javax ... -
web HTTP TCP UDP协议详情
2016-11-07 19:44 992TCP HTTP UDP HTTP/TCP/UDP 都是通信 ... -
web tomcat配置多个host实例
2016-06-02 14:08 609tomcat server.xml配置如下 <Hos ... -
web 项目访问D盘中的图片文件(tomcat配置虚拟目录)
2016-05-24 14:49 4420找到/conf/server.xml,(即tomcat的安装目 ... -
web JSP页面按钮权限控制(tld标签标签类实现BodyTagSupport)
2016-03-16 14:31 7421.xxx-tags.tld(关联具体的tag类) 放在WE ...
相关推荐
在SQLSERVER数据库的使用过程中,有时会出现一个棘手的问题,即驱动程序无法通过安全套接字层(SSL)加密与SQL Server建立安全连接。这个问题通常表明数据库连接在尝试使用SSL进行加密时遇到了障碍,可能影响数据的...
【第7章 安全套接层协议(SSL)】 SSL(Secure Sockets Layer)是互联网上广泛使用的安全协议,主要用于确保网络通信的安全性和隐私性。它位于网络会话层,为上层应用如HTTP提供加密和认证服务。SSL协议由两部分组成...
在当今的网络安全领域,加密通讯协议SSL(Secure Sockets Layer,安全套接层)扮演着至关重要的角色。SSL协议能够为基于IP层的网络通讯提供加密和认证服务,保障数据传输的安全性,防止被窃听或篡改。在Linux环境下...
6. **加密套接字的使用**: 一旦创建了安全套接字,就可以像普通TCP套接字一样进行读写操作,但所有的数据都将自动加密和解密。 在实际应用中,你可能会遇到以下场景: - **HTTPS服务器**: Web服务器通过SSL/TLS...
安全套接层(Secure Sockets Layer,简称SSL)是一种广泛使用的网络安全协议,它位于网络会话层,旨在为互联网上的通信提供安全性和隐私性。SSL协议主要包含两个子协议:SSL握手协议和SSL记录协议。SSL协议通过提供...
SSL(Secure Sockets Layer)加密技术就是一种保障这种安全性的常用手段。在本主题中,我们将深入探讨如何通过Java(Java Archive,简称JAR)程序包实现SQLSERVER客户端与服务器之间的SSL安全连接。 首先,理解SSL...
- TCP本身不提供加密,但可以与SSL/TLS结合使用,形成安全套接字层(Secure Sockets Layer,SSL)或传输层安全(Transport Layer Security,TLS),以保护数据传输的安全性。 通过以上步骤,我们可以理解并实现...
SSL(Secure Sockets Layer)和其后继者TLS(Transport Layer Security)是实现这种安全性的主要手段,它们为网络通信提供了加密和身份验证。本文将详细讨论在与SQL Server建立SSL加密连接时遇到的问题以及解决方案...
安全套接层(Secure Sockets Layer,简称SSL)是一种广泛使用的网络安全协议,主要用于在互联网上实现安全的通信。SSL协议工作在网络会话层,即TCP/IP协议栈的第四层,旨在为应用层协议(如HTTP)提供加密传输和身份...
SSL(Secure Sockets Layer)安全套接层是网络通信中的一种标准协议,它为互联网上的数据传输提供了加密和身份验证机制。SSL协议是网络安全领域的基石,广泛应用于电子商务、在线银行和其他涉及敏感信息交换的场景。...
SSL全称为“安全套接字层”,由Netscape公司在1990年代初开发,其后演变为TLS(Transport Layer Security)协议,现在通常所说的SSL实际上是指SSL和TLS的统称。SSL的主要功能是为网络通信提供加密处理,确保数据在...
SSL(Secure Sockets Layer,安全套接字层)协议是Internet上进行信息发布和电子商务活动所使用的主要安全通信协议之一,也是Web传输中使用最广泛的实现密码学协议。SSL协议使用不同的密码技术的组合提供网络传输...
SSL(Secure Sockets Layer,安全套接字层)协议是一种广泛使用的网络安全协议,它为互联网上的数据传输提供了加密和身份验证机制。SSL协议是互联网安全的基础,尤其在电子商务、在线银行和其他涉及敏感信息交换的...
SSL(Secure Sockets Layer,安全套接层)是一种广泛使用的网络协议,它为数据通信提供了加密和身份验证的功能,以保证互联网上数据传输的安全性。基于SSL的身份认证和访问控制是网络信息安全领域中的重要技术,它...
"IO-Socket-SSL-0.999.tar.gz"是一个与SSL(Secure Sockets Layer)套接字相关的压缩包,用于在Socket通信中提供安全的数据传输。SSL是网络安全传输层的一个标准,通常用于HTTPS、SMTPS等协议,以确保数据在互联网上...
为了提高RMI通信的安全性,我们可以使用SSL (Secure Sockets Layer) 或其后继者TLS (Transport Layer Security) 进行加密。SSL加密确保了数据在传输过程中不被窃取或篡改,这对于处理敏感信息如JMX (Java Management...
SSL(Secure Sockets Layer,安全套接层)协议是其中最为常见的一种。在Java环境中,通过Java Secure Socket Extension(JSEE)的引入,可以高效地实现基于SSL的加密通信。 SSL协议的核心目的是为网络通信提供安全...