10

テスト証明書を作成し、作成した.MSIファイルに署名しようとしています。実際のセキュリティ証明書を購入する前に、署名された.MSIでテストバージョンを動作させる必要があります。

.MSIファイルに署名するために次の手順を実行しました。すべてが正常に完了し、最後の手順の後に1つのファイルが正常に署名されたことを示すメッセージが表示されます。

makecert.exe -sv c:\Test\mykey.pvk -n "CN=WTS" c:\Test\myCert.cer

cert2spc.exe c:\Test\mycert.cer c:\Test\mycert.spc

pvk2pfx -pvk c:\Test\mykey.pvk -pi password -spc c:\Test\mycert.spc -pfx c:\Test\mycert.pfx -po password

signTool sign /f c:\Test\mycert.pfx /p password /v c:\Test\test.msi

これらの手順を実行した後、.MSIファイルを実行します(.MSI用に変更された日付は、signToolステップが実行された時刻と一致するように変更されます)。この.MSIは不明な発行元からのものであるという警告メッセージは、「発行元:不明」と同じように表示されます。

ステップか何かを逃しましたか?すべてが正しく機能しているようです。エラーは表示されませんが、ファイルが署名されていないようです。

4

3 に答える 3

10

あなたのファイルは署名されています。Windows は、署名内の発行元 ID を信頼していないため、発行元を不明として宣言します。

デジタル署名の世界では、常に少なくとも 2 つのことを同時に検証する必要があることを忘れないでください。署名の名前を確認する必要があります。また、既に信頼しているもの (たとえば、証明機関、または信頼できるものとして手動で追加された証明書) から、確認している署名までの信頼リンクを見つける必要もあります。その場合にのみ、署名の名前を信頼し、おそらくそれをオペレーティング システム ユーザーに表示することが理にかなっています。

Web ブラウザーで、[ツール]、[インターネット オプション]、[コンテンツ]、[発行元]、[証明書] の順に移動し、テスト証明書を信頼できる発行元に追加します。

(別のブラウザーには、[設定] / [詳細設定の表示] / [HTTPS/SSL] / [証明書の管理] の下に同じ機能がある場合があります。)

そして、再試行します。うまくいきませんが、その理由はよくわかりません。有益なゲームです。

証明書が自作であり、それを裏付ける証明機関がない場合、Windows で信頼チェーンを確立する方法があるかどうかは明らかではありません。 この情報源は次のように述べています。

テスト (自己作成) 証明書を使用すると、インストール ダイアログに「発行元が不明です」というメッセージが表示されます。組織の内部に展開されたアプリケーションの場合、これは許容される方法です。」

ただし、ここで説明するように独自の証明機関を作成し、信頼されたルート証明機関の下に CA 証明書を追加することができます。これを行うことにより、基本的に、その CA によって発行された証明書はすべて署名され、Windows によって信頼されるようになります。

于 2012-06-18T20:06:53.997 に答える
2

私は同じ問題を抱えており、Microsoft は「sha 1」アルゴリズムを使用した証明書を信頼していないことがわかりました。

CAに証明書の交換を依頼することで問題を解決しました。

于 2016-04-30T09:40:46.823 に答える
1

これは、パッケージに署名するときにスイッチ "/d" を使用して説明を指定しなかった場合にも発生する可能性があります。詳細については、このページの「sign コマンド オプション」を参照してください: http://msdn.microsoft.com/en-us/library/8s9b9yaz.aspx

于 2012-06-19T13:13:28.497 に答える