2012-06-18 15 views
7

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

以下の手順を実行して、.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ファイル(SignToolのステップが実行された時間に合わせて変更されない.MSIのために変更された日付)を実行します。この.MSIが未知のパブリッシャからのものであるという警告メッセージは、「パブリッシャ:不明」のまま表示されます。

私は何かを忘れましたか?すべて正常に動作するようですが、エラーは一切表示されませんが、ファイルは署名されていないようです。

答えて

8

ファイルに署名があります。 Windowsは、署名のパブリッシャIDを信頼しないため、パブリッシャを不明と宣言します。

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

ウェブブラウザで、[ツール/インターネットオプション/コンテンツ/パブリッシャ/証明書]に移動し、信頼できるパブリッシャにテスト証明書を追加します。

(別のブラウザがHTTPS/SSL /証明書の管理/設定/詳細設定を表示の下に同じ機能を持っているかもしれません。)

して、再試行してください。それは動作しませんが、私は本当に理由を知らないし、それは有益なゲームです。

証明書が自家製であり、それを裏付ける証明機関がない場合、Windowsに信頼チェーンを確立する方法があるかどうかは不明です。 This sourceは言う:

あなたがテスト(自己作成された)証明書を使用している場合は、インストールダイアログ は「不明な発行者」というメッセージが表示されます。 hereを説明し、信頼されたルート証明機関の下にCA証明書を追加すると、アプリケーションが組織の内部 を展開するために、これは許容練習です。」

ただし、独自の認証局を作成することができます。これにより、あなたがしています

+0

これは私が取り組んでいるWebインストーラではなく、Windowsです。証明書をインポートする必要がある別の場所はありますか?あなたが提案したようにインターネットオプションの下に追加しました。また、MMCの証明書プラグインの証明書/信頼された人物にも追加されましたが、未知数はまだリストされている発行者です。ありがとう! – Kris

+2

@Kris - もちろん、私はWindowsインストーラについて話しています。私があなたに同じダイアログを表示するための2つの異なる方法を示しているという事実は、それが特定のブラウザとは独立したWindowsコンポーネントであることを示唆しています。ここにいくつか他の方法を見てください。 http://technet.microsoft.com/en-us/library/cc755231(v=ws.10).aspx –

+0

[証明書]ウィンドウの[信頼できる発行元]タブにcert/publisherが表示されていますが、まだ表示されています同じ問題。 .MSIを実行すると、自分のサイト運営者が(あなたのリンクのような)信頼できないと言っているのではなく、出版社が「不明」であることを私に伝えています:(その他のアイデア? – Kris

2

これは、パッケージに署名するときに説明を指定するためにスイッチ "/ d"を使用していない場合にも発生します。コマンドオプション」: http://msdn.microsoft.com/en-us/library/8s9b9yaz.aspx

+0

符号ツールを実行しているときに/ dの説明を追加しても、この問題は解決されません。しかし、提案をありがとう。 – Kris

+0

いいえ、 '/ d'オプションはあなたにパッケージのフレンドリーな説明だけを与えます。通常は追加する必要がありますが、署名の信頼関係は制御しません。 –

2

私は同じ問題を抱えていて、Microsoftはもはや "sha 1"アルゴリズムの信頼証明書ではないことがわかりました。

私はCAに証明書を置き換えるように依頼することで問題を解決しました。

関連する問題