2023/12/15
MacOS で PDF に電子署名を付与する
この記事は EEIC Advent Calendar 2023 、 12/15 分の記事です。
スマートカードを扱うライブラリやユーティリティのセットである OpenSC を用いて、 MacOS で PDF に対しマイナンバーカードを使った電子署名を付与するための方法を紹介します。
必要なもの
MacOS が入った PC
IC カードリーダ: 2000 円程度で 買えます。 MacOS 対応でないものもあるので注意が必要です。
電子署名を有効にしたマイナンバーカード: 電子署名用パスワードを把握できている必要があります。なお、パスワードの再設定は市役所 etc に行かないとできません。
「印影.pdf」: 必要に応じて、印影などを設定することができます。画像は pdf しか設定できないので、予め PDF に変換したものを用意しておきましょう。署名したかどうかを可視化できるので、設定すると便利です。
試した環境
PC: Intel のMacBook Pro (2020) / macOS Big Sur
IC カードリーダ: USB-NFC3
環境構築
A. 必要なソフトウェアのインストール etc
IC カードリーダとパソコンを物理的に繋ぎます。
IC カードリーダにマイナンバーカードをセットします。
IC カードリーダのドライバーをインストールします。(大抵の場合、 IC カードリーダのメーカが提供しています。 ex. https://www.iodata.jp/lib/software/u/2229.htm )
公的個人認証サービスの利用者クライアントソフトをインストールします。
Open SC をインストールします。
Adobe Acrobat Reader をインストールします。 Reader がついていない方をインストールしないよう注意してください。
B. Adobe Acrobat Reader の設定
「環境設定」→「署名」→「IDと信頼済みの証明書」を開きます。
「PKCS#11モジュール及びトークン」→「モジュールの追加」を選択し、「ライブラリパス」に、以下を設定します。
1/Library/OpenSC/lib/opensc-pkcs11.so
キーチェーンデジタルIDに以下のような表示があるかを確認します。
何度か「更新」を押したり、閉じて開くを繰り返したりすると、下記のようなものが現れるので、「JPKI(D…」の方を選択し、ログインします。なお、ここでのパスワードには、マイナンバーカードの電子証明書のパスワードを入れてくださ い。
ターミナルで以下のコマンドを入力し、「Using reader with a card:(以下略)」と出ることを確かめます。
1opensc-tool -a
電子署名を付与する方法
IC カードリーダとパソコンを物理的に繋ぎます。
IC カードリーダにマイナンバーカードをセットします。
Adobe Acrobat Readerを開きます。
「ツール」→「証明書」を選択します。「入力と署名」とは異なる機能なので、注意してください。
上の帯から「デジタル署名」を選びます。
適当な範囲を選択するようポップアップで指示されるので、マウスのドラッグで適当な範囲を選択してください。その選択した枠の中に印影が入ります。
下の画像のように、デジタル ID を選択する画面が出てくるので、発行者が「公的認証サービス署名用…」のものを選択し、「続行」します。(たまにこの選択肢が出てきませんが、その場合には、カードリーダの再接続や、 Acrobat の再起動などを試すと進めることが多いです。)
(初回のみ)印影を設定します。
「作成」を押します。
「画像」を選択し、用意した「印影.pdf」を設定します。(白い箱の右下の「参照」から画像を選択できます。)
「含めるテキスト」を選択します。設定した画像のみを表示したい場合には、すべてのチェックを外してください。
「保存」します。
(パスワードを要求された場合、)マイナンバーカードのパスワードを入力します。
「署名」を押すと、電子署名が付与されます。
適当な場所に「保存」してください。
電子署名を付与できているかを確認します。 PDF を再び Adobe Acrobat Reader で開いた時に「少なくともnつの署名に問題があります」と出たら、(大抵の場合)電子署名を付与できています。ちなみに、このような表示が出るのは、マイナンバーカ ードの電子証明書は国際基準に対応していないためです。