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

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

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

△メモ一覧にもどる


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

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

2022年版に際して(概況)

CA(認証局)ブランドの集約が進み、Symantec、thawte、Verisign は DigiCert に一本化された。これと並行して旧ブランドを扱う代理店の契約改廃が進行し、新ブランドに移行しなかった代理店(コードサイニング証明書の扱いをやめた事業者)もあるようだ。

こうした背景から2022年の日本では、DigiCert、GlobalSignのハイブランド2社と、カジュアルブランドのSectigo、2021年末から円建ての価格を出して日本市場に参入したEntrustの主に4社からコードサイニング証明書を選んでいくことになる。

 

また2021~2022では 証明書の渡し方/受け取り方に各社でバラつきが出ている。

GlobalSignは、コードサイニング証明書のUSBトークンによる配布を2021年5月31日で廃止した。EdgeのIEモードで受け取るようになった。※EVコードサイニング証明書はこれまでどおりUSBトークンで配布される。

一方これとは逆に、Sectigoは2022年10月15日よりコードサイニング証明書をUSBトークン(HCMと呼ばれる)で送付することを発表した。これに伴い税込16,500円のトークン代金が別途増額となる。従来のEdgeのIEモードで受け取りはできなくなる。

GlobalSign、Sectigo 両社とも CA/Browser Forum の規定に基づくものとしているが、かたやUSBトークン廃止、かたやUSBトークン採用となったことから「Sectigoはトークン代と称して値上げをした」と受け止めるデベロッパーも(私の知る範囲では)少なくない。ただ、もしそうだとしてもSectigoは安い。

2022年版 コードサイニング証明書(OV) 価格一覧(税込)

電子証明
(認証局)
窓口言語 確認電話
(コールバック)
実在確認 価格1年 価格2年 価格3年
sslstore Sectigo(英) 英語
(米国フロリダ)
英語
時差 -14時間
$99 $174 $248
ウェブジングル Sectigo(英) 日本
(山形)
英語
時差 -9時間
DUNS 15500円 26500円
セクティゴジャパン Sectigo(英) 日本
(東京)
日本語 DUNS
または
TDB
23100円 42900円 63800円
エントラストジャパン Entrust(米) 日本
(東京)
    45210円    
エスロジカル DigiCert(米) 日本
(埼玉)
日本語/英語 DUNS 54780円 104280円 153780円
GMOグローバルサイン GlobalSign(日) 日本
(東京)
日本語 DUNS
TDB
62700円 118800円 171600円
アールエムエス DigiCert(米) 日本
(神奈川)
英語
(日本語希望可)
法人は不要 99000円 178200円 277200円

(価格は税込み)

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

初心者はセクティゴジャパンがおすすめ

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

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

2022年版 EVコードサイニング証明書 (カーネルドライバ署名等)価格一覧

電子証明
(認証局)
窓口言語 価格1年 価格2年 価格3年
sslstore Sectigo 英語
(米国フロリダ)
$349 $612 $874
セクティゴジャパン Sectigo 日本
(東京)
71500円 132000円 187000円
エスロジカル DigiCert 日本
(東京)
76780円 142780円 208780円
GMOグローバルサイン GlobalSign 日本
(東京)
82500円 155100円 224400円
アールエムエス DigiCert 日本
(東京)
147400円 257400円 368500円

(価格は税込み)

Windows10のカーネルモードドライバを配布するのに必須となった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両用証明書を発給してくれる認証局もある。

結論を述べると、2018年8月現在 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用 …などなどなどなど! えらく限定・細分化されていることがある。
高いお金だして買ったのに 使えないかもしれないという恐ろしさで、容易に手が出せない。

 

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

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

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

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
(2018年版)修正 時系列修正 2018/08/13
(2020年版)修正 税抜きベースへの変更・価格改定ほか 2020/06/15
修正 comodo→Sectigo ブランド名変更ほか 2020/06/23
(2021年版)修正 税込みベースへの変更・価格改定対応・Thawteの取扱終了対応 2021/06/02
(2022年版)修正 2022年版に際して・エスロジカルの取り扱いブランド変更ほか 2022/09/21