我正在为嵌入式Linux设备添加HTTPS支持.我尝试使用以下步骤生成自签名证书:
openssl req -new > cert.csr
openssl rsa -in privkey.pem -out key.pem
openssl x509 -in cert.csr -out cert.pem -req -signkey key.pem -days 1001
cat key.pem>>cert.pem
Run Code Online (Sandbox Code Playgroud)
这有效,但我在使用Google Chrome时遇到了一些错误:
这可能不是您要找的网站!
该网站的安全证书不受信任!
我错过了什么吗?这是构建自签名证书的正确方法吗?
我为localhost CN创建了一个自签名SSL证书.Firefox正如预期的那样在最初抱怨之后接受此证书.然而,Chrome和IE拒绝接受它,即使在将证书添加到Trusted Roots下的系统证书存储区之后也是如此.即使我在Chrome的HTTPS弹出窗口中单击"查看证书信息"时列出的证书已正确安装,但仍然坚持认证证书不可信.
我该怎么办才能让Chrome接受证书并停止抱怨?
在我的搜索过程中,我找到了几种签署SSL证书签名请求的方法:
使用x509模块:
openssl x509 -req -days 360 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt
Run Code Online (Sandbox Code Playgroud)使用ca模块:
openssl ca -cert ca.crt -keyfile ca.key -in server.csr -out server.crt
Run Code Online (Sandbox Code Playgroud)注意:我不确定是否使用了正确的参数.如果我要使用它,请告知正确的用法.
应该使用哪种方式与证书颁发机构签署证书请求?一种方法比另一种方法更好(例如,一种方法被弃用)?
尝试遵循有关创建自签名证书以与localhost一起使用的各种说明,大多数说明似乎适用于IIS,但我正在尝试使用Nodejs/Express.它们都没有正常工作,因为在安装证书时,它不受信任.这是我尝试过的失败:
有人可以提供可以做到这一点的工作流程吗? 我可以安装一个证书,但我无法让chrome(v32)或IE(v10)中的证书受到信任.
编辑:在评论中建议问题是没有受信任的cert-root.我通过IE安装了证书,但它仍然不受信任.
我跟着这个答案,使https://localhost:3000/Chrome浏览器和Mac的工作.今天,它突然不再起作用了.
https://localhost:3000给出Not Secure:
Subject Alternative Name Missing
The certificate for this site does not contain a Subject Alternative Name extension containing a domain name or IP address.
Run Code Online (Sandbox Code Playgroud)
我按照前面的步骤重新信任此证书,但没有帮助.然后,我看到了这个答案,我需要重新制作ssl键.
我做v3.ext:
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
Run Code Online (Sandbox Code Playgroud)
然后,
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -sha256 -extfile v3.ext
Run Code Online (Sandbox Code Playgroud)
然而,它返回
unknown option -extfile
req [options] <infile >outfile
where options …Run Code Online (Sandbox Code Playgroud) 我确实按照这里的所有答案 ,没有任何对我有用......什么都没有.我在Windows 10上,使用chrome版本54.0.2840.99 m尝试在本地静态IP地址(10.1.1.1)上访问我的QNAP TS-453a https://10.1.1.1/cgi-bin/
我尝试使用导入的证书,自签名,导出和导入默认值等,没有任何作用
一些帮助真的很感激
ssl ×5
openssl ×4
certificate ×2
localhost ×2
self-signed ×2
ca ×1
csr ×1
express ×1
node.js ×1