zoukankan      html  css  js  c++  java
  • 自签https证书2(适配新版chrome,不会显示“不安全”)

        上一篇博文中介绍了自签https的方法,但是在新版的chrome中会出现这么一个问题:自签ca可以识别,但是证书仍然会判断不安全。为了解决这个问题,博主特地又查了好多资料,终于找到了解决方案。

        当然,这一篇文章,放在随笔处主要是想和上一篇文章进行比较,文中内容主要是转载的别人的方法:

        博主提供了文中需要用到的MyCompanyCA.cnf和MyCompanyLocalhost.ext的下载链接:点击这里下载

        (阅读这一篇之前,大家可以阅读上一篇《创建自定义ssl证书用于https》,对证书的创建步骤稍微了解一下)

    有时候需要在局域网上访问IP地址,但是由于操作系统或者浏览器的原因(苹果,小程序不允许在app中访问http接口),会给弹出警告,如下:

    此问题可用openssl生成证书,并在浏览器中或者安卓苹果设备上安装证书来解决。


    一.创建根证书
    新建MyCompanyCA.cnf文件并输入以下内容:

    [ req ]
    distinguished_name = req_distinguished_name
    x509_extensions = root_ca
    
    [ req_distinguished_name ]
    
    # 以下内容可随意填写
    countryName = CN (2 letter code)
    countryName_min = 2
    countryName_max = 2
    stateOrProvinceName = ZheJiang
    localityName = HangZhou
    0.organizationName = Mycompany
    organizationalUnitName = technology 
    commonName = develop 
    commonName_max = 64
    emailAddress = xxxxxxxx@gmail.com 
    emailAddress_max = 64
    
    [ root_ca ]
    basicConstraints = critical, CA:true
    

      

    新建MyCompanyLocalhost.ext文件并输入以下内容:

    subjectAltName = @alt_names
    extendedKeyUsage = serverAuth
    
    [alt_names]
    
    # 域名,如有多个用DNS.2,DNS.3…来增加
    DNS.1 = domain.com 
    # IP地址
    IP.1 = 192.168.2.221
    IP.2 = 127.0.0.1
    

      

    说明:
    MyCompanyCA.cnf文件是为申请CA根证书的配置文件;
    MyCompanyLocalhost.ext是生成服务器证书的扩展配置文件;

    二. 生成证书
    执行以下3条命令:

    openssl req -x509 -newkey rsa:2048 -out MyCompanyCA.cer -outform PEM -keyout MyCompanyCA.pvk -days 10000 -verbose -config MyCompanyCA.cnf -nodes -sha256 -subj "/CN=MyCompany CA"

    openssl req -newkey rsa:2048 -keyout MyCompanyLocalhost.pvk -out MyCompanyLocalhost.req -subj /CN=localhost -sha256 -nodes

    openssl x509 -req -CA MyCompanyCA.cer -CAkey MyCompanyCA.pvk -in MyCompanyLocalhost.req -out MyCompanyLocalhost.cer -days 10000 -extfile MyCompanyLocalhost.ext -sha256 -set_serial 0x1111

    执行完成后,会得到,其中MyCompanyCA.cer是用来安装在浏览器、安卓和苹果设备上,MyCompanyLocalhost.cerMyCompanyLocalhost.pvk是放在服务端的证书和key文件,在Nginx中配置即可.

    本文主要内容转载自:https://blog.csdn.net/Newpyer/article/details/79450128

  • 相关阅读:
    C++引用之引用的使用
    C++引用之声明方法
    C++const与指针
    C++默认参数值函数
    LeanCloud 调研报告
    [译] 为何流处理中局部状态是必要的
    Z-Stack
    Think twice before starting the adventure
    Multi-pattern string match using Aho-Corasick
    C pointer again …
  • 原文地址:https://www.cnblogs.com/ddcoder/p/11589723.html
Copyright © 2011-2022 走看看