我使用c#在VS 2010中开发了一个winform应用程序。
创建设置并在启动应用程序时遇到“发布者未知”情况。
然后才知道需要使用数字证书签署应用程序。但我对创建证书感到困惑。我看到我们可以使用makecert,cert2spec工具创建自我证书。
创建证书时,我通过谷歌搜索说“如果你使用测试(自创)证书,安装对话框将显示”未知发布者“消息”。
http://msdn.microsoft.com/en-us/library/ff699202.aspx
实际上,自我证书创建的目的是什么。
请帮助我理解这些。我是这个话题的新手,如果做错了就纠正我。
谢谢。
答案 0 :(得分:0)
有很好的解释on this page:
您可以使用Visual Studio创建自己的签名证书(请检查 退出“签名”选项卡,以及“创建测试”按钮 证书“)或使用名为MakeCert的程序。当你这样做, 信任对话说发布者不明。如果你购买了 证书,信任对话框会将您的公司列为发布者。 证书供应商基本上保证您就是您所说的人 你是。
我公司(GoldMail)使用ClickOnce从a部署我们的应用程序 内容传递网络给我们的客户,公众。我们不想要 我们的部署说“Unknown Publisher”;我们想要它说 “发布者:GoldMail”。这给我们的客户带来温暖舒适的感觉 从互联网安装我们的应用程序,并提供 保证它来自我们公司,而不是来自某个人 生活在冰冻的苔原黑客部署中以获得乐趣。
如果您的应用程序将在内部部署,您可能会 选择放弃购买证书的费用,因为人 会知道应用程序的来源,即使它没有 在安装对话框中指定。你也可以选择 在每个用户的计算机上安装测试证书和信任 然后,对话框将在证书上显示该名称,就好像它是一个名称一样 从供应商处购买。
如果要部署,也可能需要使用测试证书 您的应用程序适用于了解您并了解的特定客户 应用程序来自你,就像你正在编写共享软件,或者 为您的朋友和家人创建一个用于保持的应用程序 跟踪你想要的生日和圣诞节。
答案 1 :(得分:0)
嗯,自签名证书是您可以通过其创建子证书的根证书,并且这些子证书是根据自签名证书进行身份验证的,自签名意味着它拥有创建它的私钥。< / p>
例如,当您想要在网站上使用证书并且您希望由身份验证发布者验证时,您可以向发行人询问verisign以获取证书。因此,当用户通过https进入您的站点时,它将识别您拥有证书,并且验证证书是否与您的组织相对应的方法是通过检查verisign证书。
您可以创建自签名证书来模拟生产环境,您将要做的是伪造verisigns责任。