熱があって体調激悪ですが、なんか書いてみましたの第一弾です。
4.4 KitKatが出る前に、手持ちのAndroid 4.0.4と4.3.1の信頼するルート証明書のリストの魚拓(=バックアップ)を取っておこうと Root CA Viewer Lite(for Android 4.x) に手を加えてみたんですが、別の会にでもお話をしようと思うハマったポイントがあり紆余曲折の末、 まぁ何とか半日かけてアップデートができたわけです。
今回のRoot CA Viewer Lite 1.2.2の機能追加では、Android 4.xのルート証明書をシステム登録されたものも、 ユーザ追加したものも全てASN.1 DERバイナリ形式で取り出し、ZIPで固めてこれをSDカードの領域に エクスポートするというものです。 (本当は処理中のグルグルとか表示させないといけないんでしょうけど、 手抜きでホントすみません。)
で、比較してみると
これで無事、ルート証明書は取り出せるようになったので、 比較してみましょう。差分の個数はこんな感じ。
| バージョン | ルート認証局数 | 追加 | 変更 |
|---|---|---|---|
| Android 4.0.4 | 134 | - | - |
| Android 4.3.1 | 146 | 12 | 2 |
新規追加されたのは
以下が、新規に追加された12個のルート認証局の一覧です。欧州が多い感じがありますが、セコムトラストさんも追加されてますね。 ほぼ、SHA256withRSAなんだなぁっていうのが特徴的かなと思います。
| 認証局の識別名(DN) | 有効期間 | 署名アルゴリズム | RSA鍵長 |
|---|---|---|---|
| CN=D-TRUST Root Class 3 CA 2 2009,O=D-Trust Gmbh,C=DE | 2009-2029 | SHA256withRSA | 2048bit |
| CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-systems Enterprise Services GmbH,C=DE | 2008-2033 | SHA256withRSA | 2048bit |
| CN=Buypass Class 3 Root CA,O=Buypass AS-983163327,C=NO | 2010-2040 | SHA256withRSA | 4096bit |
| CN=Swisscom Root CA 2,OU=Digital Certificate Services,O=Swisscom,C=CH | 2011-2031 | SHA256withRSA | 4096bit |
| CN=Izenpe.com,O=IZENPE S.A.,C=ES | 2007-2037 | SHA256withRSA | 4096bit |
| CN=Certinomis - Autorité Racine,OU=0002 433998903,O=Certinomis,C=FR | 2008-2028 | SHA1withRSA | 4096bit |
| CN=Buypass Class 2 Root CA,O=Buypass AS-983163327,C=NO | 2010-2040 | SHA256withRSA | 4096bit |
| CN=EC-ACC,OU=Jerarquia Entitats de Certificacio Catalanes,OU=Vegeu https://www.catcert.net/verarrel (c)03,OU=Serveis Publics de Certificacio,O=Agencia Catalana de Certificacio (NIF Q-0801176-I),C=ES | 2003-2031 | SHA1withRSA | 2048bit |
| CN=A-Trust-nQual-03,OU=A-Trust-nQual-03,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT | 2005-2015 | SHA1withRSA | 2048bit |
| OU=Security Communication RootCA2,O=SECOM Trust Systems CO.,LTD.,C=JP | 2009-2029 | SHA256withRSA | 2048bit |
| CN=D-TRUST Root Class 3 CA 2 EV 2009,O=D-Trust GmbH,C=DE | 2009-2029 | SHA256withRSA | 2048bit |
| CN=Root CA Generalitat Valenciana,OU=PKIGVA,O=Generalitat Valenciana,C=ES | 2001-2021 | SHA1withRSA | 2048bit |
変更されたのは???
| 認証局の識別名(DN) | 有効期間 | 署名アルゴリズム | RSA鍵長 |
|---|---|---|---|
| CN=Thawte Premium Server CA/emailAddress=premium-server@thawte.com,OU=Certification Services Division,O=Thawte Consulting cc,L=Cape Town,ST=Western Cape,C=ZA | 1996-2021 | SHA1withRSA | 1024bit |
| CN=Thawte Server CA/emailAddress=server-certs@thawte.com,OU=Certification Services Division,O=Thawte Consulting cc,L=Cape Town,ST=Western Cape,C=ZA | 1996-2021 | SHA1withRSA | 1024bit |
おまけ
Root CA Viewer Liteで証明書をエクスポートすると、個々の証明書のファイルは「system_4fbd6bfa.0」みたいない感じになっており、JCEの証明書ストアの証明書のalias 「system:4fbd6fa.0」に対応しています。「4fbd6fa.0」はOpenSSLの認証局の証明書ファイルの保管方法によるもので、証明書の識別名のハッシュみたいなものから作られています。 この名前の決まり方はJNSAのセミナー「OpenSSL 1.0.0のリリースについて」でお話しており、 スライドのページ番号32、33をご覧頂ければと思います。 この記事思い出して確認したんですが、 ハッシュファイル名は -subject_hash_old の方、つまりOpenSSL 0.9.8ベースのハッシュファイル名になったままのようですね。 とはいえ、ベースとなっているOpenSSLは0.9.8とは限らないので、どのなのかは調べる方法あるんですかね。
今日はこのへんで