0

我使用 c# 在 VS 2010 中开发了一个 winform 应用程序。

创建了设置,现在在启动应用程序时面临“发布者未知”的情况。

然后才知道需要用数字证书对应用程序进行签名。但是我对创建证书感到很困惑。我看到我们可以使用 makecert、cert2spec 工具创建自我证书。

在创建证书时,我通过谷歌搜索得到了一个链接,上面写着“如果您使用测试(自行创建)证书,安装对话框将显示“未知发布者”消息”。

http://msdn.microsoft.com/en-us/library/ff699202.aspx

那么实际上创建自我证书的目的是什么。

请帮助我理解。我是这个话题的新手,如果做错了什么,请纠正我。

谢谢你。

4

2 回答 2

0

这个页面上有一个很好的解释:

您可以使用 Visual Studio 创建自己的签名证书(查看“签名”选项卡,以及显示“创建测试证书”的按钮)或使用名为 MakeCert 的程序。执行此操作时,信任对话框会显示发布者未知。如果您购买证书,信任对话框会将您的公司列为发布者。证书供应商基本上保证你就是你所说的那个人。

我的公司 (GoldMail) 使用 ClickOnce 将我们的应用程序从内容交付网络部署到我们的客户 The Public。我们不希望我们的部署显示“未知发布者”;我们希望它显示“发布者:GoldMail”。这在从 Internet 安装我们的应用程序时给我们的客户一种温暖舒适的感觉,并确保它来自我们的公司,而不是来自一些生活在冰冻苔原黑客部署中的有趣的人。

如果您的应用程序要在内部部署,您可能会选择放弃购买证书的成本,因为即使在安装对话框中没有指定应用程序,人们也会知道应用程序的来源。您还可以选择在每个用户的机器上安装测试证书,然后信任对话框将在证书上显示名称,就好像它是从供应商处购买的一样。

如果您正在为认识您并知道该应用程序来自您的特定客户部署应用程序,例如您正在编写共享软件,或为您的朋友和家人创建一个应用程序以用于保存,您可能还需要使用测试证书跟踪您想要的生日和圣诞节礼物。

于 2013-05-30T11:25:28.293 回答
0

好吧,自签名证书是您可以创建子证书的根证书,并且这些子证书根据自签名证书进行身份验证,自签名意味着它拥有创建它的私钥。

例如,当您想在网站上使用证书并且还希望由身份验证颁发者对其进行验证时,您可以询问像威瑞信这样的颁发者以获得证书。因此,当用户通过 https 进入您的站点时,它会识别出您拥有一个证书,并且验证该证书是否与您的组织相对应的方法是根据威瑞信证书检查它。

您可以创建自签名证书来模拟生产环境,您将做的是伪装 verisigns 责任。

于 2013-05-30T21:25:42.633 回答