已签名的XAP仍显示为未经验证的发布者

时间:2013-01-30 15:29:27

标签: silverlight visual-studio-lightswitch

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

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

makecert -n“CN =我的真棒证书颁发机构”-cy authority -a sha1 -sv“My Awesome Certificate Authority Private Key.pvk”-r“My Awesome Certificate Authority.cer” < / p>

  • 我为此证书指定了密码
  • 我已将此证书导入计算机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。

我得到以下提示:

  

enter image description here

我尝试更新时出现以下错误

  

enter image description here

对CN代码签名证书有什么要求吗?我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

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

您可以通过执行以下操作来解决此问题

打开以下文件:

  

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

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

XapFileName = “$(_ ApplicationDir)\网络\%(_ ClientXap.FileName)%(_ ClientXap.Extension)”

将其更改为:

XapFileName = “$(_ ApplicationDir)客户端\网络\%(_ ClientXap.FileName)%(_ ClientXap.Extension)”