いよいよ2月、確定申告目前となりました。住基カードと電子証明書は用意済ですから、あとはMac側のセットアップを残すのみ。ざっと調べた情報では、ICカードリーダのドライバとJavaの実行環境、そして(Javaで動く)クライアントソフトを用意すればよさそうですが……今回は、その手順を紹介します。

ドライバをインストールすれば終わりだろう、と高をくくっていたICカードリーダのセットアップですが、そうは問屋が卸しませんでした。OS Xで住基カードのようなICカード(スマートカード)を利用する場合、スマートカードサービスプログラムとカードに応じたセキュリティトークンが必要になるのですが、OS X Lion以降はスマートカードのサポートが終了されてしまったのです。オープンソースの代替プログラムを使えば支障なさそうですが、知らなければハマる原因となるでしょう。

なにより、メーカーの提供するドライバインストーラがOS X Yosemiteでは動作しないことが痛手です。結論からいうと、インストーラに含まれる機種別のドライバ(****.bundle)を手動でシステム領域にコピーしなければなりません。

しかし、ICカードリーダを動作させることは可能です。今回は手順を追うだけの内容になってしまいますが、筆者が購入したICカードリーダ(NTT-ME SCR331CL)であれば、「JPKI利用者ソフト」(住基カードに記録された電子証明書を利用するためのソフト)を使い、情報を読み取るところまでは動作を確認できています。メーカーによりサポートされていない使い方であるだけに、At your own riskでお願いします(メーカーへの問い合わせ等はくれぐれご遠慮ください)。

手順1:OS標準ドライバのバックアップ

Yosemiteの現在、OS Xではスマートカードのサポートは行われていませんが、USB CCIDクラスドライバ(スマートカードとの通信仕様を満たしたドライバ)はシステム領域に保存されています。メーカー製のインストーラによりこのドライバが削除されても後で復元できるよう、念のためバックアップしておきましょう。

手順はかんたん、Finderで[移動]→[フォルダへ移動...]を選択し、現れたダイアログに「/usr/libexec/SmartCardServices/drivers」と入力して「移動」ボタンをクリックしましょう。表示されたフォルダにある「ifd-ccid.bundle」を、適当なフォルダへコピーすれば完了です。

Finderの不可視領域を開くため、「開く」ダイアログにパスを直接入力します

削除されても後で復元できるよう、ドライバを適当なフォルダへコピーしておきます

手順2:スマートカードリーダドライバのインストール

前述したとおり、OS X Yosemiteはスマートカードリーダをサポートしません。しかし、Appleがサポートを廃止するとき、オープンソースプロジェクトに開発を引き継いでいるため、それを利用すれば住基カードの読み取りに必要なセキュリティトークンを入手できます。

必要なファイル一式は、Mac OS forgeのWEBサイト(リンク)から入手できます。最新版の「SCS-Current.zip」をダウンロードし、解凍すると現れる「Smart Card Services」をダブルクリック、起動したインストーラの指示に従い作業すれば、住基カードのセキュリティトークン「JPKI Tokend」が所定のシステム領域へコピーされます。

なお、インストーラをそのまま開くと「開発元が未確認のため...」と表示されます。SHIFTキーを押しながらパッケージをクリックし、コンテキストメニューの「開く」を選択して開いてください。

「開く」コンテキストメニューを選択してインストールパッケージを開きます

画面の指示に従い作業すると、住基カードの読み取りに必要なセキュリティトークンがインストールされます

手順3:Javaランタイムのインストール

「JPKI利用者ソフト」を実行するには、Javaランタイムが必要です。インストーラはOracleのWEBサイトで配布されているので(リンク)、最新版をダウンロードしてインストールを行います。

Javaランタイムをインストールします

手順4:ドライバの手動コピー

2月3日現在、ICカードリーダ(NTT-ME SCR331CL)のOS X Yosemiteに対応したドライバは配布されていません。しかし、Mavericksなど以前のバージョンのOS Xに対応したドライバを入手し、そこに含まれる4つの書類(拡張子が「.bundle」の書類すべて)を手順1で開いたフォルダ(/usr/libexec/SmartCardServices/drivers)へ手動コピーすれば、システム再起動のあとカードリーダを認識させることができます。メーカーがサポートしないOSへの特殊な方法によるインストールとなるため、At your own riskで利用してください。

「パッケージの内容を表示」を選択し、Contents→Resourcesの順にフォルダを開きます

拡張子「.bundle」の書類を手順1のフォルダ(/usr/libexec/SmartCardServices/drivers)へコピーします

手順5:JPKI利用者ソフトのインストール

最後に、公的個人認証ポータルサイトからMac用JPKI利用者クライアントソフト(Ver2)をダウンロードし、インストーラを起動します。インストーラをそのまま開くと「開発元が未確認のため...」と表示されるので、手順2のときと同じ方法で開きます。

JPKI利用者クライアントソフトは、アプリケーション→ユーティリティ→個人認証サービスフォルダにインストールされます。フォルダを開くと、Javaで動作するアプリケーションがいくつか用意されているので、そのうち「JPKI利用者ソフト」を起動してみましょう。「動作確認」ボタンをクリックし、ICカードリーダを接続し住基カードをセットしたあと「実行」ボタンをクリックすると、ここまでの手順に問題がなければ一連のテストは無事完了するはずです。

なお、このあとルート証明書のインストールも必要です。この作業はなかなか手間がかかりますので、次回紹介させていただきます。

JPKI利用者クライアントソフト(Javaアプリ)をインストールします

「JPKI利用者ソフト」を起動し、ICカードリーダの接続確認を行います

ドライバが適切にインストールされていれば、このように「NG」のない出力が得られます