当前位置: 首页 > 知识库问答 >
问题:

SSL自签名证书上的Chrome(NET::ERR_CERT_COMMAN_NAME_INVALL)错误

鲜于意
2023-03-14

我正在尝试使用Windows10上的Express.js的自签名证书在localhost上设置站点。下面是Express.js服务器代码

index.js

const https = require('https')
const express = require('express')
const app = express()
const fs = require('fs')
const path = require('path')

const httpsOptions = {
    cert: fs.readFileSync(path.resolve(__dirname, 'ssl', 'ca.crt')),
    key: fs.readFileSync(path.resolve(__dirname, 'ssl', 'ca.key'))
}

const router = require('./router')

app.use('/people', router)

https.createServer(httpsOptions, app)
    .listen(3443)

我还将certificate authority ca.crt文件导入到chrome中,并重新启动了chrome。但chrome上仍有错误,如下所示:

# certificate authority key
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out ca.key

# server key
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out server.key

# certificate authority
openssl req -new -x509 -days 365 -key ca.key -subj "/CN=Test CA/O=Test Organization" -out ca.crt

# certificate signing request
openssl req -new -key server.key -subj "/CN=localhost/O=Test Organization" -out server.csr

# server certificate
openssl x509 -days 365 -req -in server.csr -CAcreateserial -CA ca.crt -CAkey ca.key -out server.crt

# verification
openssl verify -verbose -CAfile ca.crt server.crt
  • OpenSSL:1.1.0e 2017年2月16日
  • 节点:7.7.1
  • Windows 10

共有1个答案

公良云
2023-03-14

花了几个小时来解决这个问题。以下方式对我起作用:

创建配置文件(例如req.cnf)

[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
  [req_distinguished_name]
C = US
ST = VA
L = SomeCity
O = MyCompany
OU = MyDivision
CN = local.com
  [v3_req]
keyUsage = critical, digitalSignature, keyAgreement
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
  [alt_names]
DNS.1 = local.com
IP.1 = 127.0.0.1

然后生成证书和私钥

 openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout local.com.key -out local.com.crt -config req.cnf -sha256
 类似资料:
  • NET::err_cert_authority_invalid 我确实按照下面的线程来尝试和解决它: 使Chrome接受自签名的本地主机证书 https://deliciousbrains.com/https-local-withon-browser-privacy-errors/ 之后,我生成了CER或P7B文件,并将其导入到Chrome中。我重新启动了Apache和Chrome。 我将证书放在

  • 我现在走到了路的尽头,看不到解决办法。只是一些背景,我有一个。NET web应用程序,我也有一个自我托管的SignalR端应用程序,客户可以下载它来帮助我的网站与他们的桌面交互。当客户端安装此端应用程序时,它将接受一个自签名证书并安装到受信任的根证书颁发机构和个人证书存储区。 如果我只是忽略这一点并继续下去,它破坏了我的网站SSL,客户在URL栏中看到一个红色的“X”,这不会让他们在网站上感到舒服

  • 我最近升级了Inteliij IDEA 2019.2,如果我尝试从IDE中提取Git,我会发现以下错误:无法访问'https://github.xxx.com/app-Hello-USD/DGS.git/“:SSL证书问题:证书链中的自签名证书。 有人能帮我什么选项,我必须启用。 谢谢

  • 问题内容: 当尝试使用其PHP库通过Twilio发送消息时,我正在为这个错误而苦苦挣扎: 我在Windows 7上使用了wamp。 我当然找到了所有其他有关证书错误的信息。据我所知,通常更新或添加文件即可解决该问题。但是,即使这样做,我仍然遇到相同的错误。 就像这里所做的健全性检查一样,这正是我所做的: 从此处下载了最新的证书:http : //curl.haxx.se/ca/cacert.pem

  • 问题内容: 我尝试将带有正确APP_ID,APP_SECRET等的curl请求发送到 我需要从中获取access_token,但需要返回FALSE并打印下一条消息: 我的代码是: 当我手动移动到上面的链接时,我会很好地获得access_token。为什么卷曲不起作用?请帮助。 问题答案: 建议禁用的答案不被接受。问题是“为什么它不适用于cURL”,正如Martijn Hols正确指出的那样,这很危

  • 我尝试将带有正确应用程序ID、应用程序机密等的curl请求发送到 我需要从中获取访问令牌,但获取FALSE和print next message,否则: 我的代码是: 当我手动移动到上面的链接时,我很好地获得了访问权。为什么卷曲不起作用?请帮忙。