问题描述
我创建了一个自签名证书来签署我的程序。 我注意到使用以下方法导入证书:
certutil.exe -addstore root "Tmp.crt"
使 UAC 警告“更友好”(显示发布者名称,无需向证书颁发机构支付数百美元。
我的计划专为一小群人设计。创建提示询问用户是否要将证书安装到“受信任的根证书颁发机构”存储区是否安全?假设他们已经足够信任该程序以允许以管理权限启动。
解决方法
如果他们导入并信任您的自签名证书,则会明确要求他们信任您。
如果您使用来自“官方”(= 付费)证书颁发机构的代码签名证书,不会明确要求他们信任您,但他们会通过该证书颁发机构隐式信任您的证书.他们从未被问过是否信任该权限,因为操作系统为他们信任该权限。
因此,我不明白要求信任您的自签名证书比依赖其他人信任证书颁发机构的决定更不安全。唯一的缺点是用户可能会因为被问到他们通常不会被问到的问题而感到不安。
您可以通过让您的程序检查其签名的证书以确保它确实是您自签名的来提高安全性。
,这没有错,但如果他们不是从受信任的来源获取您的应用程序,则可能不安全。您可以改为从 Let's Encrypt 项目请求免费证书。这是他们的入门页面的链接: