自签发SSL证书-解决本地开发跨域调试问题

问题:

解决问题:

  • 第一步:新建文件 ext.ini,或者 ext.ext 都可以,写入以下内容
basicConstraints = CA:FALSE

keyUsage = nonRepudiation, digitalSignature, keyEncipherment

subjectAltName = @alt_names

[alt_names]

DNS.1 = dev.com

DNS.2 = *.dev.com

  • 第二步:终端执行命令
    openssl genrsa -des3 -out ssl.key 1024
  • 第三步:输入密码。这里会输入两次,填写一样即可,随意填写一个,下一步就会删除这个密码。

通过上面这一步,就会在当前文件夹下生成一个 ssl.key 文件。

  • 第四步:删除密码
    //终端执行删除密码命令
    //这里目录和生成私钥的目录一致
    openssl rsa -in ssl.key -out ssl.key

  • 第五步:生成 CSR(证书签名请求)。我们根据根据刚刚生成的 key 文件来生成证书请求文件,终端执行如下命令:
    openssl req -new -key ssl.key -out ssl.csr

  • 执行以上命令后,需要依次输入国家、地区、城市、组织、组织单位、Common Name、Email 和密码。其中 Common Name 应该与域名保持一致。密码我们已经删掉了,直接回车即可。

  • 第六步:签发证书的时候带上参数:

这里3650是证书有效期(单位:天)。这个大家随意。最后使用到的文件是key和crt文件。
`

openssl x509 -req -days 3650 -in ssl.csr -signkey ssl.key -out ssl.crt -extfile ext.ini
posted @ 2023-01-10 21:21  Chiffon1996  阅读(80)  评论(0)    收藏  举报