トップ回答者
コード署名だけでも運用可能ですか?

質問
-
Windows8にて、デバイスのドライバを作成しています。
自己署名にて開発テストは可能ですが、実際に製品としてリリースする際に、
CA発行の証明書で署名すること以外になにが必要かよくわかっていません。
WHQLは通さずに、デジタル署名済みのドライバを配布する方針を検討しています。
下記参照しまして、CA発行の証明書で署名すれば良いと分かりましたが、
それ以外に何か手続きなどは必要でしょうか?
WHQLに関わらないようであれば、Microsoft社への届け出なども不要でしょうか?
ドライバーのデジタル署名の基礎
http://blogs.msdn.com/b/jpwdkblog/archive/2011/08/29/10201505.aspx
② Authenticode 署名(自己署名)
・root 証明を行っている証明機関が発行した証明書を使用して、ドライバーの作成者ごとに署名
・第三者証明機関に証明書の発行依頼が必要
・ドライバーの作成者ごとに、カタログ ファイルを生成して署名
・Windows Server 2003 以降の Windows OS で対応。(Windows XP では Authenticode 署名は有効な署名として機能しません)
Acquire a Code Signing Certificate
http://technet.microsoft.com/ja-jp/library/cc732597.aspx
Purchase a code signing certificate from a commercial certificate vendor
• You can purchase a certificate from any of the vendors listed at "Root Certificate Program Member List" at http://go.microsoft.com/fwlink/?LinkId=59547.
• You should purchase a certificate from a commercial certification authority (CA) when you want signatures created with the certificate to be usable outside of your organization. Certificates from the CAs listed are automatically recognized as valid (but not necessarily trusted) by any Windows-based computer because a copy of those CAs are in the Trusted Root Certification Authorities store on each computer.
• If you only need to use the certificate within the bounds of your organizational network, and do not need to have the certificate recognized by those outside of your organization, you might consider using Certificate Services or the MakeCert program instead, because they do not require a purchase from a CA.
商用証明書ベンダーからコード署名証明書を購入
位置は「ルート証明書プログラムメンバーリスト」に掲載されているベンダーのいずれかから証明書を購入することができますhttp://go.microsoft.com/fwlink/?LinkId=59547。
あなたの組織の外でも使える証明書を使用して作成された署名が必要なときは、商用の証明機関(CA)から証明書を購入する必要があります。これらのCAのコピーが各コンピュータ上で信頼されたルート証明機関ストアにあるため、記載されているCAから証明書が自動的に任意のWindowsベースのコンピュータで有効な(必ずしも信頼されていない)として認識されている。
あなただけの組織のネットワークの境界内に証明書を使用する必要があり、証明書は、組織のそれらの外で認識されている必要はありません場合は、彼らが必要としないため、代わりに、証明書サービスやMakeCertをプログラムを使用して検討するかもしれないCAから購入している。
回答
すべての返信
-
さて、某社のコード証明書を購入するべく手続きを行っているのですが、
早速、何を選択すれば良いのか分からず困っています。
それぞれの用途や違いなどが解説されているサイトがあれば教えて頂きたいです。
Advanced Private Key Options
CSP
1)Microsoft Base Cryptographic Provider v1.0
2)Microsoft Base Smart Card Crypto Provider
3)Microsoft Enhanced Cryptographic Provider v1.0
4)Microsoft Strong Cryptographic ProviderKey Size
無知ですみません。。
A)1024
B)2048
C)4096
誰に聞けば良いのかも不明なので、そのような状態ということを加味して、教えて頂きたいです。。 -
たぶんこのままだと誰も回答しないと思われますので、多少なりとも参考になればと思い私の経験や意見を書いてみます。
1.昔のコード証明書にはそんなに種類が無く、各社とも一種類だけでした。
2.目的が★正しい★コード署名をすることだけだったので、入手できる証明書の中で一番安くて確実かつ簡単に入手できるものを選んでいました。署名自体の機能には提供メーカや証明書の入手価格が異なっても何も変わらないからです。ただし最近の状況は知りません。
3.証明書は1年間で期限が切れるので、翌年には(何らかのより良い条件が出てきた場合)別の会社に乗り換えることもしていました。
4.一時期、署名で使う某社のタイムスタンプサーバーの利用に関して回数制限があるという噂がありましたが、幸いにその時にその会社の証明書を使用していなかったので詳細は知りませんし、経験していません。しかしあえて付け加えれば、採用予定の某社の証明書を用いて署名する際に、その様な回数等の制限が無いことを確認された方が良いかと思います。
5.結局のところは、ご質問のKey SizeやKey Optionの違いによる効能はそれを提供している某社しかわからないのではないかと思います。証明書とは「どこでも同じ」というものに近いモノを、敢えて各社(CA)が独自色を付けて差別化販売している側面がある様に感じています。
最後に一応ですが、採用予定の某社は
http://msdn.microsoft.com/ja-jp/library/windows/hardware/gg487315.aspx
のページに載っていて、Microsoft Authenticode用の証明書を確かに発行してくれることを確認された方が良い様に思います。今見たところ、私が知っているS社やG社では今でも1種類のコード証明書しか販売してない様子でしたので、何か違うものを買ってしまわないだろうかと、ふと思いました。
-
Microsoftからの反応無く、困っていました。
MSDN フォーラムなどの公開フォーラムでは、Microsoft から公式に回答をもらえることはありません。
Microsoft からの回答を期待する場合は、パートナー向けの窓口を使うか、有償のサポートを頼る必要があるのが実情です。- 編集済み AzuleanMVP, Moderator 2014年2月14日 14:08