研究这个玩意也有几天的时间了,刚学C 因为不熟悉编译折腾了不少时间,终于弄通了,发个随笔给研究openssl https的同学一点提示吧. 环境: ========================================================== UBUNTU 12.04 OPENSSL 1.0.2d SSL:SSL2(同学们可以研究下使用TSL和SSL3,我还木有研究好) TOOL: code::blocks =================================…
https单向认证(忽略认证)并支持http基本认证, 温馨提示 1,jar包要导入对 2,有匿名类编译要注意 3,欢迎提问,拿走不谢!背景知识 Https访问的相关知识中,主要分为单向验证和双向验证,双向验证在单向验证的基础上构建而成 关于单向验证,如果要细分的话,分为证书验证和普通验证(忽略验证),因为这项验证针对客户端,所以客户端有能力控制是否需要验证 Java类中带有内部类和匿名类编译的class文件命名规则 内部类的class文件命名是:主类+$+内部类名 匿名类的class文件命名是…
前言 前一段时间有了解如何配置Tomcat服务为Https单向认证和双向认证,当时也做了一些记录,今天开始写博客,就把以前的记录拿出来整理下,分享给大家.本文没有介绍证书如何生成,会在下一篇博文里介绍. 1 配置Tomcat服务为https单向认证 1.1 修改配置文件 在Tomcat的根目录下找到/conf/server.xml文件打开,找到如下位置 修改为如下内容:    <Connector port="8443" protocol="org.apache.coy…
1.HTTPS介绍 由于HTTP是明文传输,会造成安全隐患,所以在一些特定场景中,必须使用HTTPS协议,简单来说HTTPS=HTTP+SSL/TLS.服务端和客户端的信息传输都是通过TLS进行加密.这样就能在一定程度上避免敏感信息被截取. 在通信过程中,请求方称为客户端,响应方称为服务端.HTTPS请求流程如图: 1.客户端向服务端发送加密版本.加密算法种类.随机数信息等. 2.服务端返回客户端发送的信息并带上服务端证书(公钥证书). 3.客户端效验服务端证书的合法性. 4.验证不通过终止通信…
1.单向认证,就是传输的数据加密过了,但是不会校验客户端的来源 2.双向认证,如果客户端浏览器没有导入客户端证书,是访问不了web系统的,找不到地址 如果只是加密,单向就行 如果想要用系统的人没有证书就访问不了系统的话,就采用双向认证 第一步:为服务器生成证书 使用keytool为Tomcat生成证书,假定目标机器的域名是“localhost”,keystore文件存放在 “e:\\tomcat.keystore”,口令为“123456”,使用如下命令生成: keytool -genkey -a…
关于证书 1.每个人都可以使用一些证书生成工具为自己的站点生成证书(比如jdk的keytool),大家称它为“自签名证书”,但是自己生成的证书是不被互联网承认的,所以浏览器会报安全提示,要求你手动安装证书.只有通过权威的CA机构付费获得的证书才能被互联网承认(有点类似于根域服务器的权威机构). 2.证书(无客户端服务端之分)保存着ip信息.证书过期时间.证书所有者地址信息等. 双向认证 1.先决条件是有两个以上或两个以上的证书,一个是服务端证书,另一个或多个是客户端证书. 2.服务端保存着客户端…
一.Http HyperText Transfer Protocol,超文本传输协议,是互联网上使用最广泛的一种协议,所有WWW文件必须遵循的标准.HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全. 使用TCP端口为:80 二.Https Hyper Text Transfer Protocol over Secure Socket Layer,安全的超文本传输协议,网景公式设计了SSL(Secure Sockets Layer)协议用于对Http协议…
来源: 一.Http HyperText Transfer Protocol,超文本传输协议,是互联网上使用最广泛的一种协议,所有WWW文件必须遵循的标准.HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全. 使用TCP端口为:80 二.Https Hyper Text Transfer Protocol over Secure Socket Layer,安全的超文本传输协议,网景公式设计了SSL(Secure Sockets Layer)协议用于对Ht…
背景: 接到一个需求,客户要求某个模块的rest接口都得通过https访问,客户提供证书. 步骤: Server端证书生成 刚开始还没拿到客户的证书,所以通过jdk自带的keytools自己先生成了一个证书用来测试,同事称这个为自签名. C:\Program Files\Java\jdk1.8.0_191\jre\bin\keytool.exe 也就是jdk这个自带的程序, 说说怎么用吧.楼主用的windows操作系统 到JDK的JRE的bin目录下,执行以下命令生成服务端sslServer.p…
单向认证: .clinet<--server .clinet-->server .client从server处拿到server的证书,通过公司的CA去验证该证书,以确认server是真实的: .从server的证书中取出公钥,对client端产生的一个密钥加密(该密钥即对称密钥).将加密后的密钥发送到server端.server端用其私钥解密出数据,即得到了对称密钥: .以后的交易都是http+该对称密钥加密的方式来处理: 双向认证: 与单向认证的区别就是在1.2步骤中产生的是二分之一的对称密…