申请签署/验证

Aar*_*ron 15 c# windows code-signing manifest visual-studio-2010

我对Windows开发比较陌生,但刚刚完成了一个小项目.我想让我的应用程序"验证"像许多其他应用程序一样.例如,当您启动应用程序并弹出UAC时,它将没有带有黄色条的"发布者未知"消息,并且应该有一个"验证者:"部分.

我希望我能正确解释.有谁知道如何做到这一点?我希望它不像你需要付钱的SSL证书......

如果我的问题不清楚,或者我没有以正确的方式解释,请随时告诉我.谢谢!

Eat*_*ton 17

不幸的是,你确实需要付钱.

您需要的是代码签名证书.您可以从以下证书颁发机构获取它们: Thawte

威瑞信

或者,如果你正在寻找一个便宜的,我会从这里买一个,这是我得到我的地方: Tucows

获得证书后,您可以将其集成到构建过程中以签署您的应用程序,它将显示您的名称作为发布者.

  • 你可以在这里获得折扣Comodo证书:https://secure.ksoftware.net/code_signing.html [披露:没有网站的隶属关系.] (2认同)

Joh*_*sch 6

这称为代码签名.如果您只想为自己生成自己的证书,可以按照此答案中的说明进行操作.

正如伊顿建议的那样,如果你想要一个公共用途,你必须付钱.我最近从http://www.instantssl.com/code-signing/index.html购买了一台BuildMaster软件,价格为340美元.

回复评论:

如果我创建了自己的证书,它对我有什么用,但对其他人(公开)却没有用?

链接答案中的步骤1和2创建自签名证书颁发机构(CA),然后将其添加到Windows证书存储区.然后,步骤3生成代码签名证书并指定颁发CA(-ic交换机).由于颁发者是在步骤1中创建的CA,然后在步骤2中设置为您手动信任,因此在步骤3中生成的代码签名证书似乎由您计算机上的受信任方签名.

公众无法信任它,因为你们都生成了代码签名证书以及用于验证其创建者实际上是他所说的人的权限.想象一下,如果你是邪恶的,并在代码签名证书中加上假信息,说签名者是Microsoft.com而不是Aaron!如果没有可信任的权限来验证签名者的实际身份,则所有证书都将无用.

当您从受信任的CA订购证书时,他们将以某种方式验证您的身份.他们可能会要求您提供驾驶执照的扫描副本,如果它是作为您的姓名签名,或者只有企业所有者会喜欢公司章程(我们使用我们的D&B DUNS编号来验证Inedo).

一旦他们验证了您或您公司的身份,他们就会向您发送一个受典型网络浏览器信任的证书,您可以使用该证书签署您的可执行文件,公众可以放心,实际上您签署了这些证书,因为CA将以其中任何一个为准.公司你买了证书.如果查看您喜欢的Web浏览器的"选项"部分,您可以看到哪些CA被视为可信任.