山崎はるかのメモ
会社情報 | サイトマップ・検索

コードサイニング証明書を買う前に

2017年版 コードサイニング証明書 主要価格一覧

△メモ一覧にもどる


わかりやすく一覧にしてみた

かれこれ15年近く いくつかの代理店経由でコードサイニング証明書をとり、雑誌(ハッカージャパン・白夜書房)でも二度にわたり、コードサイニング証明書の取り方を解説してきた。その経験から、これまでの取材内容と合わせて、代理店・主要価格一覧をまとめてみたので、みなさんの参考になれば幸いである。

2017年版 コードサイニング証明書 価格一覧

電子証明
(認証局)
窓口言語 確認電話
(コールバック)
実在確認 価格1年 価格2年 価格3年
sslstore comodo 英語
(米国フロリダ)
英語
時差 -14時間
$99 $174 $248
ウェブジングル comodo 日本
(山形)
英語
時差 -9時間
DUNS 15120円 25920円 36720円
トリトンSSL comodo 日本
(神奈川)
英語
時差 -9時間
DUNS 16200円 27000円 37800円
コモドジャパン comodo 日本
(東京)
日本語 DUNS
または
TDB
22680円 42120円 62640円
エスロジカル Thawte 日本
(埼玉)
日本語/英語 DUNS 32400円 58320円 84240円
GMOグローバルサイン GlobalSign 日本
(東京)
日本語 DUNS
TDB
61560円 116640円 168480円
JP Thawte Thawte 豪と日本
(東京)
日本語
(一部英語)
DUNS $558 $977
アールエムエス DigiCert 日本
(東京)
英語
(日本語希望可)
法人は不要 76788円※EV 130680円 ※EV 189000円 ※EV
シマンテック VeriSign 日本
(東京)
日本語 TDB 97200円 174960円 272160円

DUNS…Data Universal Numbering System 日本では東京商工リサーチが窓口。新規登録料は約3,000円。
TDB…帝国データバンク。自身での登録はできない建前。

EV…EVコードサイニングの価格(EVのみの取り扱い)

初心者はコモドジャパンがおすすめ

 まったくはじめてコードサイニング証明書を取るなら コモドジャパンのコード証明書がマストである。
 その理由は、

などである。
 審査方針も日本文化をよく理解したうえで策定されており、融通がきく。
 まず失敗したくない、という点を重視するならあきらかにここだろう。

SSL証明書を使って コードサイン(署名)できないの?

証明書-詳細-拡張キー使用法
証明書の拡張キー使用法に「コード署名」 (赤枠)

Webサーバー用のSSL証明書を、コードサイン用の証明書にすることは(通常は)できない。

電子証明書には「目的」(拡張キー使用法)の項目があり、そこに「コード署名」が含まれる電子証明書でなければ、プログラムコードに対する署名には使えないことになっている。

例外として日本の政府認証基盤(GKPI)と相互認証を行っている「商業登記電子証明書」(法務局が発行業務を行っている)の目的の項目が「すべて」となっていて、すなわち万能証明書になっている。価格もコードサイニング証明書と比較すればかなり安い。

ただ、これを実用的なコードサイニング証明書として使用するには工夫が必要で、このあたりは、ちょっとおもしろいところだと思っているが、いまのところ一般的な手段とはいいがたい。

コードサインとは、なにを「証明」しているのか

購入したコードサイニング証明書で「署名」をしたコードは、

  1. 署名の有効性の証明
  2. 改ざんされていないことの証明
  3. 署名した組織の実在証明

が、それぞれされている。

具体的に、署名されたコードには「ハッシュ値」と「コードサイニング証明書」が記載されており、1をコードサイニング証明書そのもの、2をハッシュ値を比較するための公開鍵、3はコードサイニング証明書のサブジェクトの記載によって、それぞれ検証できる仕組みになっている。

2だけなら自己証明書等でできるから、1と3がコードサイニング証明書の役割になる、と考えるとわかりやすい。

 

コードサイニング証明書を購入する場合、この「署名した組織の実在証明」が、手続き上の山場といえる。

なかでも署名した人の証明ではなく「組織」の証明であるという点に注意が必要だ。

CA/Browser Forum が策定した「Baseline Requirements(for codesigning)」でも、はっきりと Verification of Organizational Applicants(組織の申請者の確認)として、コードサイニング証明書が組織を対象としていることを明記している。

このため審査基準も、SSL証明書でいうところの、OV証明書(Organization Validation)と同等になっている。

では、個人がとれないかというと、実際には帝国データバンクや東京商工リサーチへの掲載、あるいはDUNSナンバーへの申請、確定申告の写し等により「商業的に実在」していることが証明できれば、「屋号」の扱いで個人にコードサイニング証明書を売ってくれる認証局もある。

ただ法人より、敬遠される傾向ではあるので、「個人可」をうたっているところが望ましい。

コラム - コールバックさせない方法はあるか

SHA-1とSHA-2(sha256)どちらで署名するべきか… Windowsアプリケーション

コードサイニング証明書が購入できた後、SHA-1とSHA-2どちらで署名するべきだろうか。

コモドジャパンのようにSHA-1/2両用証明書を発給してくれる認証局もある。

結論を述べると、2017年10月現在 Windowsなら、いまのところSHA-1が無難かもしれない、と私は考えている。

まずSHA-2署名のユーザーアプリケーションの場合、VistaのUACで「非署名」の扱いで立ち上がってくることがある。

SHA-2は2000/XP/Vistaのカーネルドライバ非対応だし、7/8/8.1でもWindows更新プログラムで対応ということもある。またコードサイニングでSHA-1衝突が可能か疑問もある。

もちろんこれは私の考えだし、ケースバイケースである。署名するアプリケーションがWindows7以降・あるいはWindows10用ということであれば、SHA-2署名を使用するのが原則だと考える。

SHA-1は2017年から使えなくなったのでは?

たしかにマイクロソフトは2017年以降、ルート証明書プログラムにおけるSHA-1ハッシュアルゴリズムの廃止を宣言していた。 → 資料

しかし、後に、SHA-1コードサイニング証明書については対象外になった。→ 資料

SHA-1で署名したプログラムは、当面、従来通り使用できるし、今後もSHA-1で署名することもできる。

署名アルゴリズムとWindows対応状況

  Windows
2000 XP Vista 7 8 8.1 10
SHA-1
SHA-2 ×

それはそれとして、そうなると、次の疑問が生じる。

2016年1月1日から、認証局はSHA-2(sha256)の証明書しか発行していない。

その証明書では、SHA-2の電子署名のみ可能で、SHA-1の署名は不可能ではないか、という疑問である。

 

それについては、いまのところ問題ない。

たとえばコモドジャパンのコード証明書については、SHA-1/SHA-2両用証明書なので、どちらのアルゴリズムで使っても電子署名が可能である。

なお、シマンテックのようにSHA-1版とSHA-2版が別々に販売されているケースでは注意が必要である。(署名ツールで証明書ファイルを指定するか・証明書ストアにSHA-1/2両方を入れて自動判定させる必要があるかもしれない。)→資料

 

コードサイニング証明書の取得と課題

コードサイニング証明書の用途は、Windowsソフトウェアや、Javaアプレット、Adobe AIRアプリなどをオンライン配布しようとした時点である。

電子的に「署名」をしてないと、露骨に警告が表示される時代だ。

その署名が公的電子認証局(CA)に保管されている署名と同一であればその署名は信頼できることになり、ひいてはプログラムも信頼できることになる。これがコードサイニングである。
(実際にはPKI-公開鍵暗号基盤により署名の本体そのものは非公開のまま、署名した結果の正当性だけが比較されているのだが、ここでは触れない)

 

公的に認められるコードサインを行うには、作者は、認証局に自身のコードサイン(鍵ペアの片方)を登録する必要がある。※有料
登録が済むと認証局から、コードサイニング証明書(pfx等)をもらえるので、自身のOSにインストール(ストア)して、以後はそのOS上で署名ツールを使用して、自身のソフトウェアに署名できるようになる。

 

大きな流れとしては、このようなカンジなのだが、実際にはつぎのような問題が噴出して、しきいが高かった。

有名代理店だと金額がものすごく高い!
メジャーブランドなどでは年額6万円とか9万円とかする。小規模事業者には到底手が出ない。
存在証明の方法がわかりにくい
身分証明(法人の存在証明)に「DUNS」ナンバーを要求される。
住民票や登記事項証明(登記簿謄本)に慣れた日本人には、DUNS(世界的に通用する企業コード)と言われてもなんのことかわからない人が多い。
個人でとるのが難しい!
「法人」になっていることが取得の前提条件になっていることが多く、個人の受け付けは極めて少ない。
英語/英会話力が必要!
日本のコードサイニング代理店もさまざまで、手続きの最初から最後まで国内代理店が行うところもあれば、受付や決済だけ日本語で→認証局への手続きは英語というところもある。
また認証局の審査では、多くがこちらに電話をかけてきて、申し込み内容と同一の質問を尋ねて「申し込み内容に間違いがないか」を口頭でたしかめてくる。
 これを「コールバック」というのだが、海外に業務を投げている代理店の場合、認証局のスタッフが「英語」で電話をかけてくる。 日本語スタッフがいるケースもあるが、たいていは英語で、さらに時差の関係で 英国の朝9時は、日本の夜6時。フロリダだと現地の朝9時は日本の夜11時である。夜中のコールバックは厳しい方もおられるだろう。
署名できるファイルが限定されていることがある
購入した証明書で署名できるファイルが MS Authenticode用(WindowsのEXEやDLL)、Object Signing用(JAVAアプレット)、MS Office VBA用、Adobe AIR用 …などなどなどなど! えらく限定・細分化されていることがある。
高いお金だして買ったのに 使えないかもしれないという恐ろしさで、容易に手が出せない。

 

これらの理由で、なかなか「コードサイニング証明書」をとるのは厄介に思えるのが普通ではなかろうか。

そこで、今回、こちらのページを作るにいたった。

おすすめのコモドのように、日本法人(コドモジャパン)を設置して、これらの問題点を克服しようとする認証局も見られはじめたので、少しずつではあるが、今後改善されていくとは思う。

2014/05/13・山崎はるか
追記 2014/06/21
(2015年版)修正 トリトンSSL・エスロジカル 価格改定ほか 2015/02/05
(2015年版)修正 アールエムエス追加 価格確認ほか 2015/04/01
(2015年版)修正 thawte 価格改定ほか 2015/06/08
(2016年版)修正 エスロジカル アールエムエス 価格確認ほか 2016/03/20
(2016年版)修正 ウェブジングル 価格確認ほか 2016/06/19
(2017年版)修正 記事構成 2017/02/19
追記 SHA-1/2 2017/03/24
追記 SSL代用の可能性ほか 2017/10/16

記事ランキング