352

私が持っている pfx ファイルで Windows 8 appx パッケージに署名しようとしています。私は次のようなコマンドを使用しています:

signtool.exe sign /fd sha256 /f "key.pfx" "app.appx"

そしてこれから、私は得る:

SignTool エラー: 指定されたすべての基準を満たす証明書が見つかりませんでした。

私が満たしていない「基準」は何ですか?これはテスト専用であるため、これらは自己署名証明書です。キーをインポートしてから署名しようとしましたが、常に同じエラーが発生します。これを修正するにはどうすればよいですか?

4

20 に答える 20

671

Visual Studio でこのエラーが発生したのは、最初に開発されたコンピューターと一致する署名証明書のセットアップがあったためです。

これは、プロジェクトのプロパティ > 署名タブに移動し、証明書の詳細を確認することで確認できます。

「ClickOnce マニフェストに署名する」のチェックを外して、署名を無効にすることができます。

署名プロパティ

このオプションをオフにしたくない場合は、証明書をインストールする必要があります。

于 2014-12-16T14:55:02.227 に答える
42

ほとんどの証明書には有効期限があるため、常に最初に証明書の有効期限を確認してください。私の場合、証明書の有効期限が切れており、プロジェクトをビルドしようとしていました。

于 2015-10-19T10:28:54.767 に答える
28

アプリに署名する必要がない場合は、プロジェクトを右クリックします

Project Properties -> Signing -> uncheck "Sign the ClickOnce Manifest"

また、このMS記事が示唆するように、

Visual Studio 2008 を使用していて、.NET 3.5 をターゲットにして自動更新を使用している場合は、証明書を変更して新しいバージョンを展開するだけで済みます。

于 2019-01-17T03:07:38.063 に答える
16

私の場合、関連付けようとしている証明書のタイプが間違っています。「コード署名」ではなく「サーバー認証」
がありました。 これは、[使用目的] セクションの証明書スナップで確認できるはずです。その後、それはうまく機能します。

于 2014-10-22T15:51:53.517 に答える
15

同じ問題が発生し、証明書の秘密鍵に権限がないことが判明しました。
修正するには-証明書管理を開き、証明書を見つけて右クリック->秘密鍵の管理を選択し、セキュリティでユーザーが追加され、アクセス許可が付与されていることを確認してください。

于 2014-11-21T16:12:08.000 に答える
15

他の誰かがこれに遭遇した場合: 私の問題は、signtool.exe アプリを使用する前に、管理者としてコマンド プロンプトを実行する必要があることでした。その後、すべてが素晴らしく機能します。

于 2014-08-20T14:15:51.497 に答える
10

これを解決するには、/smフラグを使用して、デフォルトの My (Local User) ストアではなく、マシン ストアを参照するように指定しました。また、を使用して、signtool のデバッグを有効にすると役立ちます/debug

于 2017-05-23T19:20:22.620 に答える
3

私の問題は、サインツールのオプションを理解していないことでした。/n オプションに、自分の証明書と一致しないものを指定しました。それを削除すると、文句を言うのをやめました。

于 2016-10-31T06:26:20.907 に答える
2

コンピューター名が変更され、証明書の有効期限が切れているという同様の問題がありました。新しいテスト証明書を作成することで、この問題を解決できました。

Visual Studio のソリューション エクスプローラーでプロジェクトを右クリックします。プロパティを選択します。[プロパティ] ウィンドウで [サインイン] を選択します。「テスト証明書の作成....」をクリックします。テスト証明書のパスワード情報を入力し、[OK] をクリックします。

于 2017-04-26T13:59:43.543 に答える
1

コンパイルを開始project propertiesする前に、すべてのフィールドに移動してチェックを外しますFirm

于 2014-11-19T15:29:00.930 に答える