美文网首页
本地环境配置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