2015年1月24日現在の編集:現在、他の信頼できる認証局を使用することはできません。質問と回答は時代遅れではありません:
WinQualは引き続き署名を拒否します。
有効なデジタル署名であることをすでに確認している場合:
完全を期すために、他の誰かが行った編集を以下に残します。彼がどれほど間違っていたかを指摘するだけです。そして彼はその恥をもって生きることができます:
2014年現在の編集:他の信頼できる認証局を使用できるようになりました。質問と回答は廃止されました。
2005年に、MicrosoftでWinQualアカウントを確立しようとしたので、Windowsエラー報告(WER)を介して自動的に送信されたクラッシュダンプファイル(存在する場合)を取得できました。Verisign証明書を持っていないため、クラッシュダンプを取得できませんでした。代わりに、Verisignの子会社であるThawteによって生成された安価なものがあります。
参加する方法は次のとおりです。提供されているサンプルexeにデジタル署名します。これは、あなたが実際にクラッシュダンプを取得したアプリに署名したのと同じ署名者であることを証明しています。
暗号的には、実行可能ファイルにデジタル署名を生成するために秘密鍵が必要です。その秘密鍵の所有者のみが、一致する公開鍵の署名を作成できます。誰がその秘密鍵を生成したかは関係ありません。これには、以下から生成される証明書が含まれます。
- 自己署名
- ウェルズ・ファーゴ
- DigiCert
- SecureTrust
- トラストウェア
- QuoVadis
- GoDaddy
- 委託する
- サイバートラスト
- ジオトラスト
- GlobalSign
- コモド
- Thawte
- ベリサイン
ただし、MicrosofのWinQualは、Verisignによって生成されたデジタル証明書のみを受け入れます。Verisignの子会社でさえ十分ではありません(Thawte)。
マイクロソフトがコード署名証明書を受け入れたくないという技術的、法的、または倫理的な理由を誰かが考えることができますか?WinQualサイトによると:
Winqualメンバーシップにデジタル証明書が必要なのはなぜですか?
デジタル証明書は、スタッフのメンバーになりすましたり、会社に対して詐欺行為を行ったりする個人から会社を保護するのに役立ちます。デジタル証明書を使用すると、ユーザーまたは組織のIDを証明できます。
どういうわけか、Thawteデジタル証明書は安全ではありませんか?
2年後、クラッシュダンプを取得できるようになるのを待っているというリマインダー通知をWinQualに送信しました。WinQualチームからの回答は次のとおりです。
こんにちは、
念押し有難う。これはまだリクエストであると適切な人に通知しました。
2008年に、マイクロソフトのサポートフォーラムでこの質問をしましたが、回答は次のとおりです。
現時点では、VeriSign証明書のみを受け入れるように設定されています。他の種類の証明書をサポートするという圧倒的な要求はありませんでした。
他の種類の証明書を受け入れるための「セットアップ」ではないということは、おそらくどういう意味ですか?
WinQual.exeテストアプリに署名したキーのフィンガープリントが、実際に取得したクラッシュダンプである実行可能ファイルに署名したフィンガープリントと同じである場合、それは証明されています-それらは私のクラッシュダンプです。それらを私に渡してください。
また、他のすべてのデジタル署名とは対照的に、Verisignデジタル署名が有効かどうかを確認するための特別なAPIがあるわけではありません。有効な署名は、誰がキーを生成したかに関係なく有効です。
Microsoftは署名者を信頼しないことは自由ですが、それはIDと同じではありません。
それが私の質問です。WinQualがデジタル署名をサポートするように設定されていない実際的な理由を誰かが考えることができますか?
ある人は、答えは彼らがただ怠惰であるということであると理論づけました:
私は知りませんが、winQualシステムを実行しているチームはライブチームであり、開発チームではないと思います。たとえば、既存のシステムのメンテナンスに向けた個性とスキルセットです。私は間違っているかもしれません。
彼らはそれを変えるために仕事をしたくありません。しかし、誰かが変更する必要がある何かを考えることができますか?キーを生成したものに関係なく、同じロジックです。「指紋が一致しますか」。
私は何が欠けていますか?
アップデート
他の開発者の話を聞くのはいいことです。このようにして、私は自分が一人ではないことを知っています。この質問は、マイクロソフト側の変化の手段として役立つ可能性があります。そして、私の当初の意図が不平を言う暴言であったとしても、これを有効なStackOverflowの質問に保つために、 MicrosoftがVerisign証明書しか受け入れられなかった技術的な理由を探しています。
暗号化APIは、証明書を発行した会社の名前を気にしません。署名者のチェーンが信頼できるルートに戻ることだけを気にします。
Microsoftが特に確立された暗号インフラストラクチャを使用しておらず、代わりにVerisignに限定されている場合、何が起こっている可能性がありますか?
プログラムマネージャーや開発者が理由を説明しているブログエントリを誰かが指摘できれば、おそらく満足するでしょう。
アップデート2
人々は私の質問の要点を見逃しているようです。Windowsには、デジタル署名証明書がルート機関によって信頼されていることを確認するためのコードインフラストラクチャがすでに備わっています。これは、署名された実行可能ファイルの1つにあるデジタル署名のスクリーンショットです。
私たちの証明書がThawteのコード署名局の証明書によって署名されていることがわかります。この証明書はThawteによって署名されています。
また、「thawte」証明書はデフォルトでWindowsに付属しています。
Thawte Premium Server CAは、WindowsとInternetExplorerのすべてのコピーがすでにそれを信頼しているほど十分に優れています。また、証明書が有効(つまり信頼できる)かどうかを確認するための確立されたAPIがすでにあります。
WinQualの人たちがやって来たとき、彼らは正しい方法をチェックすることを避けるために邪魔をしなければならなかったでしょう、そして代わりに彼ら自身の解決策を転がし、信頼できるルートとしてVerisignだけをハードコーディングしました。なぜ彼らは他の信頼できるルート機関、コードが実行されているWindowsマシンで出荷される機関を無視し、代わりにVerisignをハードコーディングするのでしょうか。
他のすべての人(Windows Explorer、Firefox、Chrome、Internet Explorer、Opera、CertMgrなど)のように行うのではなく、特にVerisignのみを許可します。そして私の質問はその理由です。
Why would WER not accept code-signing certificates?
単純な場合:
- 最初にそれを書いた人は彼の頭のてっぺんから適切な方法を知らなかったので
- 適切な方法を調査するために多くの時間を費やすのではなく
- 彼はただ一緒に何かを投げました
- テストのために、彼は1人の署名者だけをハードコーディングしました
- 後で戻って修正するという完全な意図を持って
- しかし、コードは現在機能しています
- そしてそれは修正されずにライブになりました
- そして誰もそれを壊す責任を負いたくない
- そして誰もそれを修正するためにお金を使いたくない
- そして、それを優先度を高くするために十分な顧客が不満を言っていません
- 多くの人が不満を言っていたとしても、Verisignを購入するのはたったの99ドルです。
- それで、あなたはそれを手放してベリサインのものを買うことができないのですか?
...それは大丈夫だろう。私がそれを信じないことを除いて。本番環境に移行したのはテストコードだとは思いません。他の署名者を無視させたのは、意識的で具体的な決定であると私は感じます。そして、彼らはベリサインを尊重するだけであり、これからもそうし続けるでしょう。
しかし、私の人生のために、私は理由を考えることができません。