美文网首页
本地环境配置https

本地环境配置https

作者: 呦丶耍脾气 | 来源:发表于2021-04-16 17:43 被阅读0次

    前言

    开发项目免不了本地配置https环境,本文将介绍自己创建证书颁发机构(CA),为自己的本地开发环境颁发证书
    因为本机是win10,所以下面是以window为例

    下载OpenSSL

    先需要的是OpenSSL的可执行文件,点击下载,下载完成之后安装即可

    ps:如果将OpenSSL选择的安装文件夹的“\bin\”文件夹已添加到系统路径环境变量中,就可以从任何地方使用。
    键入命令openssl

    当然如果之前装过了git安装),会默认安装openssl,路径如下:

    git中openssl路径

    创建私钥

    • 打开openssl ,下面是两种打开方式(git命令好像有些问题)
      (1)双击openssl.exe
      (2)配置环境变量的,打开cmd键入openssl
      打开openssl
    • 创建
      键入如下命令
    genrsa -des3 -out rootSSL.key 2048
    

    输入两次密码,我设置的是123456
    此时在当前目录下生成一个密钥文件:rootSSL.key

    创建证书文件

    您可以选择创建一个持续X天的证书文件。在本例中,我们将选择1024天,但您可以选择任何数量-越长越好。
    键入以下命令:

    req -x509 -new -nodes -key rootSSL.key -sha256 -days 1024 -out rootSSL.pem
    

    根据自己情况依次输入
    秘钥密码:123456
    两个字母的国家代码:我用“CN”表示中国。
    你的州或省:beijing。
    你的城市:beijingshi。
    一个组织名称:offcn。
    一个组织单位的名字:zg。
    一个公共名称,如服务器名或完全限定的域名(FQDN):yzj.com。
    管理员电子邮件地址:xxx@qq.com
    完成后你的当前目录下面会生成一个rootSSL.pem证书文件

    信任根SSL证书

    我们将使用Microsoft管理控制台(MMC)来信任根SSL证书。

    • 键盘win+R

    • 输入MMC回车

    • 选择菜单 “文件 > 增加/删除管理单元(M)”


    • 选择 “证书” 并 “添加”


    • 选择 “计算机账户(C)” 并 “下一步”


    • 选择 “本地计算机(运行此控制台的计算机)” 并 “完成”


    • 单击 “确定”返回到 MMC 界面


    • 双击 “证书 (本地计算)” 展开列表


    • 选择 “第三方根证书颁发机构”, 右击 “证书” 并选择 “所有任务” 中的 “导入”


    • 单击 “下一步” 并浏览选择 “rootSSL.pem” 文件,在前面 Step 2创建的根证书文件



    • 选择 “将所有的证书都放入下列存储” 并选择 “第三方根证书颁发机构”. 单击 “下一步” 直到完成向导。



    • 双击证书,可以看到本次添加的证书



    为本地域颁发证书

    本地域名的绑定这里就不赘述了,应该都是知道

    • 为新域创建私钥

    我们将创建一个名为“m.sd.yzj.demo.key”的文件,其中包含该域的私钥信息。
    键入以下命令:

    req -new -sha256 -nodes -out m.sd.yzj.demo.csr -newkey rsa:2048 -keyout m.sd.yzj.demo.key -subj "/C=CN/ST=beijing/L=beijingshi/O=offcn/OU=yzj.com/CN=yzj/emailAddress=xxx@qq.com"
    

    如果出现如下错误,先关闭窗口,再重新打开openssl

    2604:error:08064066:object identifier routines:OBJ_create:oid exists:crypto\objects\obj_dat.c:698: error in req
    

    可以更改“-subj”参数以反映您的国家、省、位置等

    • 使用根SSL证书颁发新证书
    x509 -req -in m.sd.yzj.demo.csr -CA ../rootSSL.pem -CAkey ../rootSSL.key -CAcreateserial -out m.sd.yzj.demo.crt -days 500 -sha256 -extensions "authorityKeyIdentifier=keyid,issuer\n basicConstraints=CA:FALSE\n keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment\n  subjectAltName=DNS:m.sd.yzj.demo"
    
    

    注意看好rootSSL.pemrootSSL.key路径


    在Web服务器中使用新的本地域证书

    配置文件中添加(我用的nginx)


    listen 443 ssl;
    ssl_certificate  D:\wwwroot\ssl\m.sd.yzj.demo\m.sd.yzj.demo.crt;
    ssl_certificate_key D:\wwwroot\ssl\m.sd.yzj.demo\m.sd.yzj.demo.key;
    

    相关文章

      网友评论

          本文标题:本地环境配置https

          本文链接:https://www.haomeiwen.com/subject/qnmelltx.html