我正在为嵌入式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上使用https/SSL中详述的步骤?但这会为我的机器名设置一个自签名证书,当通过https:// localhost浏览时,我会收到IE警告.
有没有办法为"localhost"创建自签名证书以避免此警告?
尝试遵循有关创建自签名证书以与localhost一起使用的各种说明,大多数说明似乎适用于IIS,但我正在尝试使用Nodejs/Express.它们都没有正常工作,因为在安装证书时,它不受信任.这是我尝试过的失败:
有人可以提供可以做到这一点的工作流程吗? 我可以安装一个证书,但我无法让chrome(v32)或IE(v10)中的证书受到信任.
编辑:在评论中建议问题是没有受信任的cert-root.我通过IE安装了证书,但它仍然不受信任.
我正在尝试让 https 在我的 Vite 本地主机环境中工作。Chrome 显示无效证书错误。
我已经像这样设置了 vite.config.js 文件:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import fs from 'fs';
export default defineConfig({
resolve: { alias: { '@': '/src' } },
plugins: [vue()],
https: {
key: fs.readFileSync('RootCA-key.pem'),
cert: fs.readFileSync('RootCA.pem')
}
})
Run Code Online (Sandbox Code Playgroud)
当我运行它时npm run dev -- --https,它按预期工作,我没有从 Vite 收到任何问题。但是,Chrome 显示无效证书。
我使用 openssl 创建证书文件,这给了我 .crt、.pem 和 .key 文件。它们都不是二进制的,因此我将 .key 文件重命名为 RootCA-key.pem。我尝试使用 RootCA.pem 文件作为证书,并将 RootCA.crt 文件重命名为 RootCA-cert.pem 并将其用作证书。
作为临时解决方法,我在 Chrome 中启用了不安全的本地主机 (chrome://flags/#allow-insecure-localhost),这至少消除了警告。
我想知道如何在localhost上的Web应用程序上设置SSL.
我没有这样做的背景,会提供指导.我已经完成了我的Web应用程序的实现,我需要它在localhost上使用https或者我在服务器上托管它.
有任何想法吗?
问候.
最近,Chrome已停止使用我自己签署的SSL证书,并认为它们不安全.当我查看DevTools | Security选项卡中的证书时,我可以看到它说
主题备用名称缺失此站点的证书不包含包含域名或IP地址的主题备用名称扩展名.
证书错误站点的证书链存在问题(net :: ERR_CERT_COMMON_NAME_INVALID).
我怎样才能解决这个问题?
我按照本教程在Windows上创建签名SSL证书用于开发目的,并且它适用于我的一个域(我使用hosts文件来模拟dns).然后我发现我有很多子域名,为每个子域名创建证书会很麻烦.所以我尝试使用wildcard in Commonfield 创建证书,如serverfault的一些答案所示.像这样:
Common Name: *.myserver.net/CN=myserver.net
Run Code Online (Sandbox Code Playgroud)
但是,在将此证书导入受信任的根证书颁发机构后,我NET::ERR_CERT_COMMON_NAME_INVALID在Chrome中遇到了主要域及其所有子域的错误,例如:https://sub1.myserver.net和https://myserver.net.
这台服务器无法证明它是myserver.net; 其安全证书来自*.myserver.net/CN = myserver.net.
这可能是由于配置错误或攻击者拦截您的连接造成的.
Common Name字段中是否有错误导致此错误?
我正在使用npm包"http-server"(https://www.npmjs.com/package/http-server)来设置一个简单的网络服务器,但我无法使用SSL.我在package.json中的命令是
http-server -p 8000 -o -S
Run Code Online (Sandbox Code Playgroud)
在我的根目录中使用cert.pem和key.pem(现在)."-o"选项将浏览器打开到默认页面,但页面使用HTTP提供,甚至无法通过HTTPS访问.我没有收到任何错误或警告.我也尝试过添加"-C"和"-K"选项而没有运气.这个套餐有没有成功?
我有用于测试的开发人员服务器.它们具有SSL自签名证书,允许我们通过HTTPS测试Web应用程序,但有明显的警告证明证书不可验证.
这没关系,但是我有一个服务工作者会抛出一个错误 navigator.serviceWorker.register
SecurityError:无法注册ServiceWorker:获取脚本时发生SSL证书错误.
如何将Service Worker与具有自签名证书的Intranet测试服务器一起使用?
ssl ×8
https ×4
openssl ×3
iis ×2
localhost ×2
node.js ×2
asp.net ×1
certificate ×1
dns ×1
express ×1
httpserver ×1
iis-express ×1
npm ×1
pkix ×1
self-signed ×1
vite ×1
windows-7 ×1