0

我正在尝试使用我自己创建的证书发布一个签名的 Lightswitch 应用程序供内部使用。安装应用程序时,我不断收到发布者未经验证的提示。除此之外,当我尝试更新应用程序时,它告诉我我的证书状态有问题并且不会更新。以下是我遵循的步骤:

  • 我以管理员身份打开了 Visual Studio 2010 命令提示符
  • 使用 makecert 工具,我使用以下命令行创建了一个“根”证书:

makecert -n "CN=My Awesome Certificate Authority" -cy authority -a sha1 -sv "My Awesome Certificate Authority Private Key.pvk" -r "My Awesome Certificate Authority.cer"

  • 我为此证书指定了密码
  • 我已将此证书导入计算机 A 的本地计算机受信任的根证书颁发机构存储中。
  • 使用 makecert 工具,我使用以下命令行创建了代码签名证书:

makecert -n "CN=SomeNameHere" -ic "My Awesome Certificate Authority.cer" -iv "My Awesome Certificate Authority Private Key.pvk" -a sha1 -sky exchange -pe -sv "SomeNameHere Private Key.pvk" "SomeNameHere. cer"

  • 我没有为代码签名证书指定密码
  • 使用 pvk2pfx 工具,我执行以下命令行:

pvk2pfx -pvk "SomeNameHere Private Key.pvk" -spc "SomeNameHere.cer" -pfx "SomeNameHere.pfx"

  • 我将 pfx 文件复制到开发机器,并在 Lightswitch 发布向导中指定它应该使用此代码签名证书来签署 silverlight 客户端。
  • 我将该应用程序发布为 3 层桌面应用程序。
  • 我打开 internet explorer 9 并导航到 lightswitch 应用程序 url,然后单击 Install AppName。

我收到以下提示:

在此处输入图像描述

尝试更新时出现以下错误

在此处输入图像描述

就 CN 而言,对代码签名证书有什么要求吗?我在这里想念什么?

4

1 回答 1

0

显然这是 HTML Client Preview 2 中的一个错误。它发生是因为签署了错误的 xap 文件。由于某种原因,服务器上现在存在两个 xap 文件,一个在 Web\app.xap 中,一个在 Client\web\app.xap 中,前者已签名,后者未签名。由于您已升级到 HTML Client Preview 2,因此现在正在使用后一个文件,因为您必须导航到 [http://webhost/webapp/Client/] 目录才能安装您的应用程序。下面的修复确保签署了正确的 xap 文件。我认为这个错误可能会在 Lightswitch HTML 客户端的最终版本发布后以类似的方式解决。

您可以通过执行以下操作来解决它

打开以下文件:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\LightSwitch\v3.0\Publish\v1.7\ Microsoft.LightSwitch.Publish.targets

搜索以下字符串“XapSignTask”,并在第二次出现时找到如下行:

XapFileName="$(_ApplicationDir)\Web\%(_ClientXap.FileName)%(_ClientXap.Extension)"

将其更改为:

XapFileName="$(_ApplicationDir)Client\Web\%(_ClientXap.FileName)%(_ClientXap.Extension)"

于 2013-01-31T04:58:59.220 回答