わかりやすく一覧にしてみた
かれこれ15年以上 いくつかの代理店経由でコードサイニング証明書をとり、雑誌(ハッカージャパン・白夜書房)でも二度にわたり、コードサイニング証明書の取り方を解説してきた。その経験から、これまでの取材内容と合わせて、代理店・主要価格一覧をまとめてみたので、みなさんの参考になれば幸いである。
2022年版 コードサイニング証明書 主要価格一覧
かれこれ15年以上 いくつかの代理店経由でコードサイニング証明書をとり、雑誌(ハッカージャパン・白夜書房)でも二度にわたり、コードサイニング証明書の取り方を解説してきた。その経験から、これまでの取材内容と合わせて、代理店・主要価格一覧をまとめてみたので、みなさんの参考になれば幸いである。
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は安い。
電子証明 (認証局) |
窓口言語 | 確認電話 (コールバック) |
実在確認 | 価格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…帝国データバンク。自身での登録はできない建前。
まったくはじめてコードサイニング証明書を取るなら
セクティゴジャパンのコード証明書がマストである。
その理由は、
などである。
審査方針も日本文化をよく理解したうえで策定されており、融通がきく。
まず失敗したくない、という点を重視するならあきらかにここだろう。
電子証明 (認証局) |
窓口言語 | 価格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コードサイニング証明書。
私はまだ取得したことがないので、一覧だけを掲載する。
Webサーバー用のSSL証明書を、コードサイン用の証明書にすることは(通常は)できない。
電子証明書には「目的」(拡張キー使用法)の項目があり、そこに「コード署名」が含まれる電子証明書でなければ、プログラムコードに対する署名には使えないことになっている。
例外として日本の政府認証基盤(GKPI)と相互認証を行っている「商業登記電子証明書」(法務局が発行業務を行っている)の目的の項目が「すべて」となっていて、すなわち万能証明書になっている。価格もコードサイニング証明書と比較すればかなり安い。
ただ、これを実用的なコードサイニング証明書として使用するには工夫が必要で、このあたりは、ちょっとおもしろいところだと思っているが、いまのところ一般的な手段とはいいがたい。
購入したコードサイニング証明書で「署名」をしたコードは、
が、それぞれされている。
具体的に、署名されたコードには「ハッシュ値」と「コードサイニング証明書」が記載されており、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どちらで署名するべきだろうか。
セクティゴジャパンのように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上で署名ツールを使用して、自身のソフトウェアに署名できるようになる。
大きな流れとしては、このようなカンジなのだが、実際にはつぎのような問題が噴出して、しきいが高かった。
これらの理由で、なかなか「コードサイニング証明書」をとるのは厄介に思えるのが普通ではなかろうか。
そこで、今回、こちらのページを作るにいたった。
おすすめの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
このサイト(山崎はるかのメモ)から検索