デジタル署名のまとめ(Vista x64対応)
【2020/06/06追記】
最新情報は、「オープンソース開発者向けコードサイニング証明書」をご覧ください。
【2013/11/03 追記】
2013/6以降は GlobalSign.com では個人向けコードサイニング証明書発行を行わないそうです。日本法人は引き続き個人でもコードサイニング証明書を取得できるようです。(とても高いけど。。。)
参考サイト:個人ソフト作者にとってのデジタル署名とは?
【2012/7/29 追記】
GlobalSign.com でも個人向けコードサイニング証明書発行を始められた模様です。値段が全然違うので英語でも平気な方はご検討ください。
参考サイト:個人ソフト作者にとってのデジタル署名とは?
【2010/2/27 追記】
グローバルサインがコードサイニング証明書の個人への発行を発表しました。詳細は コードサイニング証明書を個人にも発行!!
個人プログラマ大復活のお知らせですね♪
【2009/10/19 追記】
applet さんが のどか 4.10 (署名付き版)をリリースされました。
4.10リリース (applet@Hatena さん)
コードサイニング証明書が欲しけりゃ、会社を作れってことですねorz 実にわかりやすいです。えぇ、ハードルはとてつもなく高いですけどね。
【2009/10/13 追記】
applet さんがデジタル署名を取得するため合同会社を設立!! → デジタル署名付 『のどか』 のリリース準備中…
参考:キーカスタマイズソフト「窓使いの憂鬱」のVista対応派生版「のどか」が公開
有言実行!! かっこよすぎます。私にはそこまでの覚悟は・・・
【2008/7/21 追記】
個人ではデジタル署名を取得できなくなってしまったようです… 個人プログラマ終了のお知らせということですね。以下の記述はそのまま残しておきますが、現時点では以下の方法ではデジタル署名を取得することはできません。
◆はじめに
「【2028】デジタル署名が要るみたい」から始まったデジタル署名取得のための調査は難航し、1年もの月日が流れたそんなある日運命の出会が・・・「デジタル署名が取れる!?」
本当に長い道のりでした。デジタル署名を取得するためだけに、仕事を辞めて起業するということもできず、毎日のように(専業主婦の)妻に「社長になんない?」と有限会社の起業をお勧めしておりました。当然妻はあきれ顔(笑)そんな毎日ともようやくお別れです。デジタル署名の取得を妻は本当に喜んでくれました(笑)「もう社長になれって言われなくて済む」とのこと。
◆デジタル署名の取得方法
早速ですが、デバイスドライバを Vista x64 にインストールするため必須となる「コードサイニング証明書」を個人に発行してくれる会社は日本にはありません。
そこで、個人にも「コードサイニング証明書」を発行してくれるGlobalSign (英語)から取得した方法を紹介させていただきます。
必要なもの
- 免許証などの身分証明書
- クレジットカード($229/YEAR)
- 匿名の活動は出来なくなるので、それなりの「覚悟」
具体的な流れ
- ObjectSign™ Code Signing Certificates から ObjectSign の購入申請を行います。
- 申請後、メールが届くので、指示に従い ID card として「免許証」の両面コピーをスキャンし、画像ファイルとして返信メールに添付します。
※免許証以外にもパスポートなどでもオッケーみたいです。 - しばらく待ちます。サイトには5営業日と書いてありますが、私は約1ヶ月もかかりました。(催促メールも2回送ってます)
- コードサイニング証明書がメールで届きます。あとは、メールの指示に従い、証明書をインストールします。
◆デバイスドライバへの署名方法
- (デバイスドライバ開発する人はインストール済みとは思いますが)WDK をインストールします。
※古い DDK では、クロス証明書を使用できないそうです。 - Windows Vista のカーネル モードのコード署名用 Microsoft クロス証明書 から GlobalSign Root CA 用クロス証明書をダウンロードします。
- Signing a Catalog File With an SPC を参考にデバイスドライバに署名を行います。
signTool sign /v /ac MSCV-GlobalSign.cer /s my /n “XXXX YYYY” /t http://timestamp.globalsign.com/scripts/timstamp.dll ZZZZ.sys
って感じになるかと思います。”XXXX YYYY” は CN 名つまり本名、ZZZZ はドライバファイル名です。 - Vista x64 で動作確認
- 感動の瞬間
※signtool signwizard を使うと GUI で署名ができるのですが、クロス証明書に対応していないため、この方法で署名した場合 Vista x64 へデバイスドライバをインストールすることはできません。ファイルのプロパティからデジタル署名を確認すると正しく署名できているように見えるためご注意を。
米 GlobalSign 社に感謝しつつ、Vista x64 のデバイスドライバへのデジタル署名必須化に絶望した全ての個人プログラマにこのエントリを贈ります。
★コメント&直リンク大歓迎です。
長き道のりを、やっとクリアされたようですね。
おめでとうございます&ご苦労様でした。
Signtool Signwizard のGUI署名方法に関しては、以下に詳しく載ってますね。(GMO社のサイトです)
http://jp.globalsign.com/support/index.php?action=show&cat=15
免許証を身分証として提出したとの事ですが、国際免許証でしょうか?
米国の会社に日本の免許証を送っても、先方が処理に困るでしょうから、
(日本語が読めるスタッフはきっと居ないでしょうし)
国際身分証に使うには、パスポートが適しているかと思われます。
今後も頑張ってくださいね。PayPal経由で薄謝を送付させて頂きます。
(コードサイニング証明書は安く無い出費だったかと思います。寄付を募る記述をダウンロードページにもう少し書いておいた方が好いかと……)
> opaopa さん
コメント&御寄附の申し出誠にありがとうございます。
署名方法に関しては、ご紹介いただいた方法で最初署名を行っていたのですが、デバイスドライバに関しては「クロス証明書」が必要となるため、本文内で紹介している方法で行う必要がありました。
ご指摘のように身分証明書はパスポートを使用すべきだったと思います。時間がかかったのは、日本語の免許証をチェックできるスタッフが少なかったのが原因のような気もします。サイトには、マルチリンガルサポートと書いてあったので大丈夫かなと思ったのですがね。とはいえ、私はパスポートの住所部分を日本語で書いていたので同じことだったのですが・・・
ダウンロードページおよび寄付に関する記述は見直しを検討してみたいと思います。
個人でも取れるのですね!
すばらしい情報をありがとうございます。
私も証明書を取れずに困っていました。
ソフトを作るのにかけてる時間を考えると
年間230ドルなんて安いものですね。
時間が出来たら私も取得したいと思います。
> れいさん
どういたしまして。
会社を作ることを考えたら $229 は安いものです。
私もGlobalSign社から取得しようとトライしましたが
最近は個人では申し込みが出来ません。
usサイトでは、individualの文字が削られています。
ukサイトでは、まだ残っているものの、申し込もうとするとusサイトのアドレスになるので、ダメです。
データシートには、individualの文字が、まだ残っていたので、質問したら
データシートが更新され、individualの文字が消えました。(usサイトのみですが)
> kazu さん
ガーン。完全に、個人プログラマ終了のお知らせということですね。
私も確認してみましたが、Individual が選択肢から消えていますね。
まぁ、仕組みを考えるとやむをえないということでしょうか。
http://journal.mycom.co.jp/special/2008/nehalem02/index.html
この記事でatsiv.exeというかなり怪しいソフトを見つけ、これでcrystal CPU IDもロード出来る!と思ってこちらを見に来たら…
もう解決済みだったんですね。怪しいソフトを入れなくて済みます。有難うございました。
WinCDEmu と言う超便利なフリーソフトが有るのですが、作者がデジタル署名で困っています・・・
>Dandy さん
デジタル署名の問題は個人開発者にとって夢も希望もない厳しい問題です。セキュリティは重要ですが、なんとかならないもんですかねぇ~
と、バルマー氏に直談判したところで何も変わらないわけで・・・。
http://www.microsoft.com/japan/powerpro/mdf/default.mspx
の Q.8 返事無しorz
こんにちは。サイトの情報を参考にさせて頂いてます。
法人(合同会社)を作って取得する方向で進み始めました。
> applet さん
参考になったとのことで何よりです。おめでとうございます。
個人的に今後どうされるのかとても注目しておりました。
会社となると大変なこともあるかと思いますが頑張ってください。
一ライセンス分ではありますが、応援させていただきました。
シェアウェアへの御賛同、痛み入ります。
署名は、製造者を明らかにすることと、改ざんされていないことを保証し、いざとなれば、署名を無効にすることで、デバイスドライバの品質および素性や性格を担保するというしかけですが、使用者が納得済で、外に公開することが無ければ、署名をしてあげるしかけがあっても良いのでは考え、ビジネスにできないか、検討中です。
それでは。
> applet さん
atsiv.exe のように署名取り消しされる可能性も十分にあるので、形態は本当によく考えたほうが良いかと思われます。『外に公開することがなければ』というのは結構難しいような気がします。
有名だけど未署名というソフトは多々ありますし・・・。
ホント、なんか良い方法があれば良いんですけどねぇ~~~。
間違いなくできそうなのは、開発委託で、費用を払ってもらって、別途コードサイン署名を取得して、その署名をつけて納品だったら、配布元ではなく、開発元署名ですが、現状でも出来るわけです。
それじゃ、多くのフリーソフトには向かないという気はします。
GlobalSignにしようと考えていますが、日本国内で申し込むと
日本法人宛てにしか、現在は申し込みできないようです。高いです。
こんにちは。
お世話になっています。
GlobalSignからG.K. Applet に対するコードサイニング証明書を
無事取得しました。
x64で署名があると世界が広がりますね。
どうもありがとうございます。
>applet さん
本当におめでとうございます!!
デジタル署名を取得するために法人を設立したのは、日本で初めてかもしれませんね。
あとに続くことはないとは思いますが・・・万が一のときは色々相談させてください。
どうもありがとうございます。そうかも知れません。他では聞かないし、皆、テスト署名か、F8を自動で押すツールで逃げているようですから。
Crystalシリーズのようなオープンなもので、うちでbuildして、署名を付けてあげる各ユーザ向けの有料サービスというのを検討中です。バグなどユーザサポートは出来ませんが、最新版がオリジナル作者からリリースされたら、再度、ちゃんと提供するような形のものです。Time stamp付きの署名は無理ですけれども。
こんにちは。お世話なっています。昨日無事、コードサイニング証明書を付与し、署名付きでのバイナリをリリース致しました。どうもありがとうございました。
> applet さん
署名版リリースおめでとうございます。
このエントリはデジタル署名関連を調べると結構上位に来るので、コメントまで一通り読めば会社作るしかないんですね・・・ってことがわかって参考にはなるかも。まぁ、参考にはなるけど、じゃぁ~会社作るかって人がどれほどいるかは謎ですけど。
こんにちは。
オープンソースなものを Rebuildして、署名を付けて配布するプロジェクトを始めました。
デジタル署名は無償というわけには、残念ながら出来ないのですが、x86版は署名有りで配布して、x64版の署名有りは、別途有償配布という形で、スタートさせることにしました。
CoMoDoのFAQに、個人でも買える様な記述を見つけたのですが、
誰か、人柱居ませんか?
ttp://jp.comodo.com/code-signing/
Comodo発行のデジタルIDと結合したMicrosoft Authenticodeテクノロジーです。
ttp://www.comodojapan.com/faq/index.php?action=artikel&cat=20&id=99&artlang=ja
個人でもコード(署名)サイニング証明書をご購入いただけます。
会社名義と違いその場合、下記の条件が必要となります。
・お客様所有のドメインがあること
・運転免許もしくはパスポート
・公共料金の支払い明細(電話番号が明記されているもの)
が必要となります。
>elele さん
情報ありがとうございます。
CoMoDo で署名をとること自体は可能だと思うのですが、残念ならがらカーネルモードドライバでは使えないのです。
カーネルモードドライバで使うためにはクロス証明書が必要なのです。
http://www.microsoft.com/japan/whdc/winlogo/drvsign/crosscert.mspx
もちろん、インストーラ、実行ファイルや DLL につける分にこれで構わないのですが・・・。
日本のGlobalSignの方で個人でも購入できるみたいですね。
1年で6万くらいですけど。
> shela さん
情報ありがとうございます。個人プログラマ大復活!!のお知らせですね。
必要書類を揃えてソッコーで 3 年申請させていただきます。
バルマー氏への直談判(笑)が届いたのかも!?