1

Silverlight 4 OOB アプリケーション (XAP ファイル) に署名しようとしています。
次のコマンドを使用します。

"C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\signtool.exe" sign /v /f path\to\FILENAME.pfx /p PWD path\to\FILENAME.xap

そして、私は応答を受け取ります:

The following certificate was selected:
    Issued to: COMPANY NAME
    Issued by: Thawte Code Signing CA
    Expires:   Wed Dec 01 00:59:59 2010
    SHA1 hash: AE57AF01180BF995C7C5B01E235F296CCF611111

Done Adding Additional Store
Successfully signed: FILENAME.xap

Number of files successfully Signed: 1
Number of warnings: 0
Number of errors: 0

しかし、XAP ファイルは署名されていません。
エクスプローラーでプロパティを表示すると、「デジタル署名」が表示されません。インストールしようとすると、未確認のダイアログが表示されます。
dll ファイルに対してまったく同じコマンドを使用すると、署名は正常に機能し、ファイルに適用されたデジタル署名を確認できます。

これの原因は何ですか?
の別のバージョンが必要signtool.exeですか?

問題があれば、PFX はもともと XP マシンからエクスポートされたものであり、これを Win7 マシン (開発用) と Win2008 サーバー (ビルド マシン) で実行して、両方で同じ動作を取得しようとしています。

編集:
署名された DLL の証明書を確認すると、次のようになります。

SignTool Error: A certificate chain processed, but terminated in a root 
        certificate which is not trusted by the trust provider.

したがって、いくつかのルート証明書をインストールする必要があるようです。

ただし、XAP ファイルが追加された証明書を報告しない理由を説明できるかどうかはわかりません。

4

1 に答える 1

3

Silverlightプロジェクトのプロジェクトプロパティの[署名]タブからアプリケーションに署名してみましたか?プロジェクトのプロパティが私のようなものである場合、実際には2つの署名タブがあります(1つはアセンブリに厳密な名前を付けるためのものです)。必要なタブはおそらく2番目のタブになります。XAPに署名する手順を説明するリンクは次のとおりです:http://blogs.infosupport.com/blogs/alexb/a​​rchive/2010/05/10/silverlight-4-digitally-signing-a- xap.aspx。それが問題の解決に役立つかどうかを確認してください。

また、XAPに署名するだけでは不十分であることに注意してください。証明書を信頼されたルートストアにインポートする必要があります(これは、実行しているようには見えません)。[署名]タブの[詳細...]ボタンをクリックします。このCAルート証明書が信頼されていないことを示す可能性があります。以下をせよ:

  • このダイアログの[証明書のインストール]ボタンをクリックします
  • [すべての証明書を次のストアに配置する]オプションを選択し、[参照...]ボタンをクリックします
  • ツリーで[信頼されたルート証明機関]アイテムを選択します
  • OKを押します。

インストールされたことを示す別のダイアログが表示されます。ここでアプリを再コンパイルすると、正常に動作するはずです。

お役に立てれば...

クリス

于 2010-09-29T07:33:45.207 に答える