zoukankan      html  css  js  c++  java
  • http升级https之旅

    1、自制证书

      商用证书必须要有域名才能用,可惜项目上没有域名,只有ip;

      自制证书过程参考地址:https://www.cnblogs.com/hdwgxz/p/7857578.html

      创建自签名SSL工具xca为:https://sourceforge.net/projects/xca/

      自制证书包括一个根证书,一个https服务证书和一个客户端证书,如下图所示:

      

      注:服务器上安装服务证书,需访问的客户端安装客户端证书,如果说postman要请求https接口就必须先导入对应的crt格式的客户端证书。

      注:根证书设置的password要记住,在后面安装证书的过程中需要用到。

      注意:::organizaName和commonName得有区分,不然证书会提示“windows没有足够信息不能验证该证书”,https网站发布时也会提示“证书链中缺少一个或多个中间证书”。

      如下图,左侧为错误示例,右侧为正确示例,最终报不报错就看这一步了(都是坑!)

       

    2、服务器证书安装

      2.1 导出证书

      导出的证书有多种格式,实践证明我们需要导出的是p12格式的证书,如下图所示:

      

      2.2 证书受信

      导出的p12格式证书在IIS上也是不能直接安装或者导入的,我们需要运行“certmgr.msc”,进入系统的证书管理器中将该证书导入受信区,导入过程全程默认即可(中间需输入密码),如下图所示:  

      

     2.3 证书转换

      在IIS证书管理中右键“导入”的模式,可看到只支持pfx格式的证书,那么我们就需要将受信区安装的证书导出为pfx格式(中间需要输入密码),如下图:

      

      

     2.4 IIS导入证书

      在IIS证书管理中右键导入pfx证书,如下图:

     

    3、https服务配置

      默认的wcf服务只支持http服务,直接将原有的http服务发布为https服务,访问svc的时候就会报错,因此需要先改造原有的服务配置;

      我参考的文档是这个:https://blog.csdn.net/weixin_30802273/article/details/97927699;

      里面写的有点乱,经过不断尝试,其实特别简单,如下图所示:

      

      改造之后这个服务满足了https的发布条件,就不能再次发布为http服务了。

    4、https发布

      一切准备就绪之后发布就简单了,只需要选择https协议,选择已安装的ssl证书即可,如下图所示:

       

      到这一步,已经可以基于浏览器预览https服务了。

    4、postman测试https服务接口

      在postman中准备测试接口,才发现https服务是无法直接访问的,网上随便一查就知道该导入https客户端证书了;

      参考地址:https://blog.csdn.net/weixin_44846959/article/details/113127771;

      这个就简单了,选择客户端证书,导出postman需要的crt格式文件,在postman中导入即可,如下图所示:

      

      这里的host就是发布的服务的ip和端口,下面的三类文件只需要有一个即可,我这里选的就是第一个crt文件。

      如此,https接口测试成功返回数据!

      

  • 相关阅读:
    JavaScript中的String对象
    JavaScript中String对象处理HTML标记中文本的方法
    JavaScript中的Array对象
    JavaScript对象基础知识
    开机后显示显示‘无信号’
    JavsScript的基本特点
    ASP.NET中默认的一级目录
    MVC每层的职责
    PHP sql注入漏洞修复(数字型)
    python self的含义
  • 原文地址:https://www.cnblogs.com/lyd2016/p/15668630.html
Copyright © 2011-2022 走看看