gpt4 book ai didi

ssl - 如何生成不会在浏览器中触发警告的自签名证书?

转载 作者:太空宇宙 更新时间:2023-11-03 15:09:17 31 4
gpt4 key购买 nike

我正在通过一个简单的 PowerShell 脚本利用 openssl 生成一个简单的自签名证书,然后在一个简单的 ASP.NET Core 2.0 应用程序中使用 pfx 证书来启用 HTTPS)

function New-SelfSignedCertificate([string] $BaseName = 'localhost', $CommonName = 'localhost', [UInt16] $DayCount, [string] $Pass = 'somepassword')
{
&openssl req -new -x509 -newkey rsa:2048 -keyout "$BaseName.key" -out "$BaseName.cer" -days "$DayCount" -subj /CN="$CommonName" -passout "pass:$Pass"
&openssl pkcs12 -export -password "pass:$Pass" -passin "pass:$Pass" -out "$BaseName.pfx" -inkey "$BaseName.key" -in "$BaseName.cer"
Remove-Item -Path "$BaseName.key"
Remove-Item -Path "$BaseName.cer"
Remove-Item -Path '.rnd'
}

我的证书的问题是它会在每个浏览器上触发大量警告:Chrome、Opera、Firefox(例如 SEC_ERROR_UNKNOWN_ISSUER)、IE11(例如 DLG_FLAGS_INVALID_CA)和边缘(DLG_FLAGS_INVALID_CADLG_FLAGS_SEC_CERT_CN_INVALID),我可以在生成时做些什么来避免这些警告? (即除了手动将证书添加到受信任的根目录之外)

似乎无法识别颁发者,我的意思是如何在没有用户干预的情况下以浏览器会说的方式判断证书:“好的,你可以去受信任的根证书颁发机构。”? (即在开发阶段寻求便利)。

最佳答案

is there anything I can do at the generation to avoid those warnings? (i.e. besides adding manually the certificate to the Trusted Root category)

要么您不理解信任证书背后的概念,要么我不理解您的问题。证书验证背后的主要思想是,浏览器将检测是否有黑客转移或拦截您的连接,以便在中间人攻击期间冒充某些受信任的站点或嗅探敏感(加密)数据。

如果任何人都可以自动将 CA 或证书添加为受信任的浏览器,即无需通知用户,那么任何人都可以为任意网站(如 paypal.com、google.com..)创建证书并在浏览器无法检测到攻击的情况下在此类攻击中使用它。

I mean how can the certificate can be judged in way that the browser would say without a user intervention: "ok you can go to the Trusted Root Certificate Authorities."?

这不能由证书本身以任何方式设置。只有用户或管理员或系统/浏览器的开发人员才能决定是否应将新的 CA 视为可信的。

关于ssl - 如何生成不会在浏览器中触发警告的自签名证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46048259/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com