2月 27
☆個人プログラマ大復活のお知らせ!!
Windows Vista x64 以降カーネルモードドライバには、有効なコードサイニング証明書を使って署名する必要があります。しかし、コードサイニング証明書の発行を受けるためには、法人格が必須・・・。つまり、起業する必要がありました。詳細: デジタル署名のまとめ(Vista x64対応)
中途半端な覚悟しか持ち合わせていない私には、「コードサイニング証明書」のためだけに起業するということもできず、カーネルモードドライバを必要としないソフトウェアの開発に専念する日々が続きました。
しかし、ついに約束の日は訪れました!! グローバルサイン が コードサイニング証明書 を個人向けにも発行することを発表したのです!!!! 料金も今なら 3350% OFF のため 3 年間で 109,200 81,900円と大変リーズナブル(※いつの間にやら割引率アップw)。会社を興す覚悟に比べれば、悩む要素は全くありませんので大至急で申請準備を始めました。
Microsoft Developer Forum 2008 で、バルマー氏に直談判(笑)した効果があったということでしょうか(謎)
【2010/3/1 追記】
GMOグローバルサイン、デジタル署名の証明書発行サービスを個人開発者向けに拡大 (窓の杜)
やはり取り上げてくださいました♪
【2010/3/11 追記】
申請書類を送付したらすぐにコードサイニング証明書が発行されました。郵送にかかった時間を考慮するとまさに即日審査完了&証明書発行でした。しかも、キャンペーンの割引率が 33% ⇒ 50% になったことを担当の方が電話で連絡くださり、差額分は返金していただけることになりました。まぁ、このタイミングでフライング気味に申請した人だけ 33% OFF だとアレですが。
フリーソフト/オープンソースを公開するために有料のコードサイニング証明書を購入するというのはなかなか大変ではありますが、50% オフならギリギリ許容範囲という方も多いと思いますのでこの機会にぜひチャレンジしてみてはいかがでしょうか。
12月 05
WinRing0 最新版のダウンロードは、OpenLibSys.org からどうぞ~
【変更点】
先日、ドイツの開発者から C# のサンプルが動作しないという連絡がありました。う~ん、なんでだろと思っていたら翌日解決策がその方から届きました。
p.IsInRole(@”BUILTIN\Administrators”);
を
p.IsInRole(WindowsBuiltInRole.Administrator);
に変更すれば良いとのこと。どうやら、ドイツ語版の Windows では、管理者権限のグループが Administrators ではなく別の単語(ドイツ語)のようです。というわけで、海外でも使われるソフトの開発を目指す方はサクッと修正を・・・すんません。なお、C++ のサンプルコードは、マニフェストで管理者権限を要求するようにしているので問題なしです。
【ひとりごと】
久しぶりに SourceForge.net にログインしたところいくつか気が付いたのでメモメモと
- ファイルのアップデートが Web 上から行えるようになってます。(今までは一度匿名 FTP サイトにアップロードしてから管理画面で選択する必要がありました。)
- デザインがとってもすっきりしています。
- IE8 だと一部管理画面が乱れるような・・・。
SourceForge.JP の方が日本人には断然便利かと思いますが、一つぐらい SourceForge.net にホストしてもらうのも良いのかも???とはいえ、注目度は全然あがりませんけどw
あと、ユーザーからの評価でこんなコメントがありました。
The driver uses Microsoft deprecated kernel APIs such as HalGetBusDataByOffset/HalSetBusDataByOffset. There might be a chance the driver will not work if APIs are no longer exposed.
うっ。痛いところをw ホント次のカーネルで NT4 まで使えた Kernel Mode APIs が廃止されると・・・ヤヴァイです。WinRing0 の PCI 関連 API が動作しなくなります。互換戦略の弊害が顕在化する日も近い!? MS さんにはぜひぜひ惰性で HalGetBusDataByOffset/HalSetBusDataByOffset のサポートを続けていただきたいところです。
10月 19
applet さんが 合同会社設立 ⇒ コードサイニング証明書取得 ⇒ のどかの署名付き版公開 されました。
個人開発者にとっては、希望の星であると同時に、そこまでやらないと開発を続けられないのか・・・という悪夢の確定でもあります。
デジタル署名については デジタル署名のまとめ(Vista x64対応) にまとめているので、Vista/7 x64 版でカーネルモードドライバの開発がいかに困難になったかをご存じない方はぜひご覧ください。
4月 30
デジタル署名に関しては、いまだに未練たらたらで時折調査をしているのですが今日は個人でも取れるコードサイニングを紹介します。
個人でもコードサイニングが購入できますか?? (Comodo)
取得条件は
・お客様所有のドメインがあること
・運転免許もしくはパスポート
・公共料金の支払い明細(電話番号が明記されているもの)
とのこと。簡単ですね。
が、クロス証明書はないのでカーネルモードドライバには使えません。(64bit Vista では動きません)
実行ファイルにつけるように買っとく?はぁ。
【追記】
さらに調べたところ、http://www.ksoftware.net/code_signing.html から購入申し込みすると 3 年で297ドルとのこと。安い。
ネタ元:http://www.geocities.jp/visualcalculation/digitalsign.htm
【参考】
デジタル署名のまとめ(Vista x64対応)
11月 24
Microsoft Developer Forum 2008 開催レポート が公開されました。デジタル署名に関する回答は今のところいただけておりませんが、そのうち回答いただけるのでしょう。う~ん、悪い知らせな悪寒がかなりするわけですが。
WinRing0 や SysInfo のドライバに付与しているデジタル署名が Windows 7 以降で無効になっていた場合(すでに海外から 2 件のレポートあり)は、残念ながら CrystalCPUID は開発終了になると思います。
なんとか、個人でもカーネルモードドライバを開発できるような枠組みが欲しいところです。
11月 06
11/5 に開催された Microsoft Developer Forum 2008 に参加しました。開催概要は、以下の記事をごらんください。
さて、本題です。
私は、幸運にもスティーブ・バルマー氏へ質問する機会に恵まれまして、デジタル署名必須化に伴い断たれてしまった、個人の開発者がカーネルモードドライバを開発する可能性について検討していただけないかとお願いしました。
色々考慮した結果、デジタル署名が必須となったわけですから、この状況が好転する可能性は低いとは思いますが、マイクロソフトさんの CEO に直接伝えることができ、社内で検討してくださるとの回答を受けました。間違いなく Final Answer が得られと思います。回答によっては、Ring0 の世界とはお別れして Ring3 で完結するソフトウェアへの開発へ徐々に移行したいと思います。ちなみに、ASCII.jp さんの記事の一番下の写真は、私の質問を受けてメモを取られている様子です。
個人的には、個人を認証してデジタル署名を取得できる仕組みが一番簡単で良いのですが、それが難しければ、ハードウェアベンダに対して行っているようなドライバ認証の仕組みを個人にも適用できるような枠組みができればなと思っています。当然、有料になると思いますが、開発が続けられないよりは 1024 倍ましですから。
Windows Vista 以降カーネルモードドライバへのデジタル署名が必須と公表された頃から約 2 年間に渡り、1個人としてあがき続けてきました。本当に多くの方々のご協力とご縁によってこのような機会が与えられたことに感謝するとともに、これ以上ない形で一区切りをつけることができたことに大変満足しております。
10月 02
米国での買収劇から1年。揺れ動くSSLサーバー証明書業界に何が起きたのか?
非常によくまとまった記事を見つけたのでメモメモと。とりあえず、米GlobalSign社は、グローバルサイン株式会社の子会社のようですね。日本でも個人向け「コードサイニング証明書」の発行サービスが始まると良いですねぇ~。
すでにリリース済みですが、Windows Vistaの64ビット版で必須となるコードサイニング用の証明書があります。これを提供できるのは世界で3社しかありません。そのうちの1社が弊社なのです。
調査したところ、「コードサイニング証明書」を提供しているのは、VeriSign と GlobalSign と GeoTrust の3社でした。VeriSign と GlobalSign の日本法人もありますが、今のところ個人に「コードサイニング証明書」を発行しておりません。やっぱり、米 GlobalSign が最強ということで。EU/イギリス法人でもオッケーみたいですけどね。
9月 26
【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 のデバイスドライバへのデジタル署名必須化に絶望した全ての個人プログラマにこのエントリを贈ります。
★コメント&直リンク大歓迎です。
9月 26
総合ベンチマークソフト「CrystalMark 2004R2」がWindows Vista x64に対応 (窓の杜)
※初出時に不正確な情報が含まれているため訂正依頼を行っております。(訂正済)
窓の杜で紹介していただきました。この記事がきっかけで個人でも覚悟さえあればコードサイニング証明書が取得できるということを多くの人に知っていただきたいですね。英語だし229ドルもかかるし・・・とハードルは決して低くありませんが、有限会社を作ることを考えれば簡単そのものですね。
9月 26
⇒ Vista x64 でも特に何もせず CrystalMark, CrystalCPUID, CrystalDMI を実行できるようになりました。
1 年以上追い求めていたデジタル署名がようやく手に入ったため、バージョンナンバーはジャンプアップです。