一 、1.单向认证,就是传输的数据加密过了,但是不会校验客户端的来源

  2.双向认证,如果客户端浏览器没有导入客户端证书,是访问不了web系统的,找不到地址,想要用系统的人没有证书就访问不了系统HTTPS概念

二、1.单向认证,就是传输数据加密过,但是不会教研客户来源

  2.双向认证,如果客户端浏览器没有导入客户端证书,是访问不了web系统的,找不到地址,想要用系统的人没有证书是访问不了https的

    2.1https概念,是以安全为目标的http通道,就是安全版的http,就是http加入ssl安全认证,https的基础就是ssl所以加密详细内容就需要ssl

三、https和http的区别

  1.https协议需要到ca申请证书,一遍免费证书很少,需要缴费

  2.http时超文本协议,信息的传输通常都是明文,而https是经过ssl加密后再进行传输

  3.http和https使用的是完全不同的连接方式,用得默认端口都不一样,http默认端口:80,而https默认端口为432

  4.http的连接很简单,是无状态的,而https协议是由ssl+http协议构建的可进行加密、传输身份认证的网络协议,比http协议安全

四、https的作用

  1.主要作用分为俩种

    1.1建立信息安全通道,保证数据传输的安全

    1.2确认网站的安全性

  2.一般意义上的https就是服务有一个证书,主要目的是保证服务的器就是他声称的服务器,意思就是服务端和客户端通信都是ssl加密的。

  3.客户端证书其实就是通信时,不止验证你的用户名密码,还要验证你的ca证书

五、HTTPS_SSL配置的步骤:

  1. 验证是否已创建过同名的证书

    keytool -list -v -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit

   2.删除已创建的证书

    keytool -delete -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit

  3.创建证书

    3.1服务器中生成证书:

    (注:生成证书时,CN要和服务器的域名相同,如果在本地测试,则使用localhost)

    keytool -genkey -alias tomcat -keyalg RSA -keystore d:/mykeystore -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN" -keypass changeit -storepass changeit

    keytool 是JDK提供的证书生成工具,所有参数的用法参见keytool –help

      -genkey 创建新证书

      -v详细信息

      -alias以”mykey”作为该证书的别名。这里可以根据需要修改

      -keyalgRSA 指定算法

      -keysize  指定算法加密后密钥长度

      -keystorec:\sdust.keystore保存路径及文件名

      -validity3650证书有效期,单位为天

      CN=你的ip,OU=cn,O=cn,L=cn,ST=cn,c=cn 基本信息的配置

      CN=你的ip 这个配置务必注意

      -storepass 123456789 -keypass 123456789 密码设置

    3.2导出证书,由客户端安装:

    keytool -export -alias tomcat -keystore d:/mykeystore -file d:/mycerts.cer -storepass changeit

    3.3客户端配置:为客户端的JVM导入密钥(将服务器下发的证书导入到JVM中)

    keytool -import -trustcacerts -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -file d:/mycerts.cer -storepass changeit

  4.配置Tomcat SSL

    修改server.xml中的SSL服务

    <Connector port="8443" maxHttpHeaderSize="8192"
         maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
         enableLookups="false" disableUploadTimeout="true"
         acceptCount="100" scheme="https" secure="true"
         clientAuth="false" sslProtocol="TLS" keystoreFile="server.keystore" keystorePass="changeit"/>

     属性说明:clientAuth:设置是否双向验证,默认为false,设置为true代表双向验证keystoreFile:服务器证书文件路径keystorePass:服务器证书密码truststoreFile:用来验证客户端证书的根证书,此例中就是服务器证书truststorePass:根证书密码

  5.常见问题

  1. 未找到可信任的证书

    主要原因为在客户端未将服务器下发的证书导入到JVM中,可以用

    keytool -list -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit

    来查看证书是否真的导入到JVM中。

  1. keytool错误:java.io.IOException:keystore was tampered with,or password was incorrect

    原因是在你的home目录下是否还有.keystore存在。如果存在那么把他删除掉,后再执行

    或者删除"%JAVA_HOME%/jre/lib/security/cacerts 再执行

    建议直接删掉cacerts再导入

HTTPS_SSL apache认证、配置的、步骤以及原理说明的更多相关文章

  1. HTTPS_SSL配置的步骤以及原理说明

    1.单向认证,就是传输的数据加密过了,但是不会校验客户端的来源 2.双向认证,如果客户端浏览器没有导入客户端证书,是访问不了web系统的,找不到地址,想要用系统的人没有证书就访问不了系统HTTPS概念 ...

  2. centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课

    centos    LAMP第二部分apache配置  下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转  配置apache的访问日志  配置静态文件缓存  配置防盗链 ...

  3. apache https配置步骤

    转自:http://www.cnblogs.com/best-jobs/p/3298258.html 1.  确认是否安装ssl模块 是否有mod_ssl.so文件 2.  生成证书和密钥 linux ...

  4. Apache安装配置步骤

    注释:这里以Linux 红帽商业版为例~~~~~~~纯手打啊 Apache安装配置步骤 准备:关闭其他虚拟设备 #/etc/init.d/libvirtd stop #/etc/init.d/xend ...

  5. 关于Apache的配置方法和步骤

    一.下载.安装和卸载 网址:https://httpd.apache.org/docs/current/platform/windows.html#down 点击ApacheHaus,在里面下载任何版 ...

  6. centos apache svn配置

    单独安装svn服务: 安装svn软件 yum install subversion 创建根目录 mkdir -p /var/www/svn 创建版本库repos svnadmin create /va ...

  7. 1.3.1 apache的配置(下)

    (1)httpd.conf的配置 使用文本编辑工具(推荐使用Editplus.UltraEdit等工具),打开httpd.conf. 其中,行首为#的部分为注释部分,不会被apache服务器程序进行读 ...

  8. apache https配置

    1.  确认是否安装ssl模块 是否有mod_ssl.so文件 2.  生成证书和密钥 linux下 步骤1:生成密钥 命令:openssl genrsa 1024 > server.key 说 ...

  9. nginx用户认证配置( Basic HTTP authentication)

    ngx_http_auth_basic_module模块实现让访问着,只有输入正确的用户密码才允许访问web内容.web上的一些内容不想被其他人知道,但是又想让部分人看到.nginx的http aut ...

随机推荐

  1. 编程输出杨辉三角的前10行---多维数组的应用---java实现

    import java.util.Scanner;public class yanghui{ public static void main(String[] args){  Scanner sc=n ...

  2. 理解Java异常

    一.Java异常的简介 Java异常是Java提供的一种识别及响应错误的一致性机制.具体来说,异常机制提供了程序退出的安全通道.当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器.Ja ...

  3. JS 关于this p9

    关于this这个货,常常让我感到头疼,也很难说清这货到底是什么机制,今天就详细记录一下this,了解他就跟理解闭包差不多,不理解的时候我们会感到很难受总想着避开他,当我们真正理解之后,会有种茅塞顿开的 ...

  4. JavaScript字符串和字符数组

    字符串 字符串与字符数组: 字符串:var a = 'ddd'; 字符数组:var arr = 'f','o','o' 相同点: 1.都是类数组 2.都有length属性 3.都有indexOf()和 ...

  5. JavaSE——网络编程基础知识

    计算机网络的分类: 局域网(LAN) 指在一个较小地理范围内的各种计算机网络设备互联在一起的通信网络,可以包括一个或多个子网,通常局限在几千米的范围之内. 城域网(MAN) 主要由城域范围内的各个局域 ...

  6. dubbo 图片服务器(FastDFS) redis solr ActiveMQ等简单配置使用

    一.dubbo 项目基于soa的架构,表现层和服务层是不同的工程.所以要实现商品列表查询需要两个系统之间进行通信. 1.1如何实现远程通信? 1.Webservice:效率不高基于soap协议.项目中 ...

  7. SD从零开始01-02

    SD从零开始1 SD中的组织结构 销售相关的组织结构: 销售组织Sales organization 分销渠道Distribution channel 产品组Division 销售区域Sales ar ...

  8. MapReduce文件配置和测试

    1.前提:MapReduce能配置的前提是hdfs能够正常运行 2.在1的基础上,配置两个文件:    在hadoop文件夹下配置两个文件mapred-site.xml(由mapred-site.xm ...

  9. .gitignore文件规则不起效的解决办法

    在一个项目里面,多少会有一些文件是不需要上传到git上面的,比如node的依赖模块node_modules,这个文件夹超过10000个文件,大小也超过80M.所以,一个.gitignore文件省不了, ...

  10. Oracle EBS OPM convert dtl reservation

    --convert_dtl_reservation --created by jenrry DECLARE l_reservation_rec mtl_reservations%ROWTYPE; l_ ...