3

我需要签署我开发的企业Windows应用商店应用,以便用户可以将其sideload装入其设备中。代码签名windows应用商店用于侧装(带有GoDaddy证书)

我正在从GoDaddy获取代码签名证书。接下来的很多步骤对我来说依然朦胧 - 任何其他细节都将不胜感激。

我所做到目前为止

  • 应用程序进行测试,并且我能够deploy it on machines that have a developer license
  • 购买一个代码签名证书的爸爸,但不知道什么(根据以往的经验,我想我需要生成密钥对和我的开发机器上的证书签名请求)
  • 叫GoDaddy的支持,未来谁做说我其实需要一个驱动程序签名证书而不是代码签名证书。成本是相同的,所以他们立即改变了我的购买。
  • 事实证明,在Windows上有一个自动生成CSR的过程,但您必须为此使用Internet Explorer。显然,密码的东西以某种方式由Internet Explorer和GoDaddy网站透明地处理。我很想知道更多关于那里的实际情况。
  • 作为过程的一部分,您需要提供软件发布者(本例中为我的客户)的合法名称和官方地址/电话。
  • 一旦您提交了请求,它必须经过GoDaddy批准(他应该以某种方式验证我是否由发布者授权代表其为其代码签名)。

下一个步骤

  • 我认为GoDaddy的需要从出版商收到一些文件。我很想知道这个过程是如何工作的,需要多长时间。
  • 证书颁发后,我希望再次有一些简单的方法将其安装到我的开发机器上。问题:有没有办法将钥匙和证书移到另一台机器上?
  • 我还希望Visual Studio(我使用2012 Express版的Windows 8)能够在创建应用程序包时使用证书。我需要为此做一些特殊的设置吗?还是会很简单(“创建应用程序包”向导的一部分)?
  • 我在证书签名请求上提供的一些细节最终将在实际证书上显示(安装应用程序的人员可以看到)。哪个?
+0

因此,我正在创建一个应用程序,该应用程序将在另一家公司内部发布给所有员工设备。我不能使用公司证书签字。我需要采用相同的流程才能将应用发布给他们,并让他们的设备相信它?它仍然需要管理员密码来加载应用程序? – 2015-07-31 20:54:09

+0

听起来侧面加载是一种可能的方法来满足您的需求。一旦你用自己的证书创建了一个签名的应用程序包,另一家公司应该能够推送它的设备。也就是说,如果应用程序的性质允许,可能会更容易通过Windows存储。 – 2015-09-16 01:12:48

回答

7

在这里完成的过程之后是我自己的答案:

  • 原来GoDaddy的支持代表是错的 我建议使用驱动程序签名证书。我需要一个代码签名证书。
  • 证书不显示联络人(其中包括在证书签名请求)的细节。在提交请求之前,您可以查看证书详细信息(我最初错过了它)。在我的情况下,显示的细节是公司名称,城市,州和国家。
  • 的文件要求取决于公司在申请证书(在某些情况下,他们可能不需要在所有的任何文件)。 GoDaddy有非常友好的支持,所以你应该可以从他们的要求。这个过程可能需要几天的时间才能完成(但他们可以帮助更快地完成)。
  • 当使用Internet Explorer两个证书请求阶段和安装阶段,该过程是无缝的。我相信它使用Microsoft's Certificate Enrollment API(在this MSDN blog post中也有描述)
  • 正如JP Alioto所述,在文章“Signing an app package (Windows Store apps)”中描述了使用证书的过程。要在一个特定的项目使用新的证书:
    • 打开项目.appxmanifest文件
    • 转到“包装”选项卡
    • 旁边的出版商字段中,单击“选择证书”
    • 在弹出的对话框中单击“配置证书”并选择下拉选项“从证书存储中选择..”。该证书应作为其中一个选项提供。
  • 要导出证书,您可以使用以下过程:
    • 运行certmgr.msc
    • 找到证书
    • 右键单击>所有任务>出口启动证书导出向导,其中有导出私钥 选项
      • 警告:私钥应该是私人的,你应该保护它。如果您将其复制到您控制的另一台机器(假设没有人可以在运输中抢夺它),则可能是确定的。与其他人分享可能有风险。我无法找到有关Windows如何使用私钥的信息,但让多个人共享私钥可能不太合适。
  • 若要从PFX文件导入证书和私钥,右键单击Windows资源管理器的文件,然后选择“安装PFX”。这将启动一个简单的“证书导入向导”。
+0

你是如何创建证书请求的? Internet Explorer是一个浏览器,所以我错过了连接。你是否试图说你使用IIS来创建证书请求? – 2017-04-26 12:40:49

+0

@MikeDoonsebury,当通过浏览器发生这种情况时,我也感到非常惊讶。显然[证书注册API](https://blogs.msdn.microsoft.com/ieinternals/2010/05/14/certificate-enrollment-from-the-browser/)允许网站与Windows证书管理机制(如果用户使用Microsoft浏览器)。 – 2017-05-23 23:07:09

2

很多东西在那里。 :)有你需要阅读一些文件:

阅读和理解这些文件会给你发生了什么事情的一个更好的主意。您确定您正在部署的企业尚未拥有将其部署到其桌面映像的可信根证书吗?如果他们这样做,使用该私钥签名应用可能会更容易。 (建议使用公共证书颁发机构的唯一原因是,你再不必部署证书到目标机器。)

您可以移动在evil PFX format这基本上是一个PKCS #12 portable key file证书(密钥和私有密钥不幸)。但是,要非常小心如何移动该文件。它包含您的公钥和您的加密私钥。

+0

谢谢! 关于“签署应用程序”的文档中有一段关于使用替代证书的部分,这似乎是我需要在路上使用的。 – 2013-02-21 18:20:19

+0

也感谢关于PFX格式的提示。有关在我的上下文中实际使用它的任何链接? – 2013-02-21 18:23:05