背景
Macでマイナンバーカード内の電子証明書を確認する記事ばっかりだったので備忘録
1.カードリーダーの購入
マイナンバーカードをPCで読み取るにはカードリーダーが必要です。J-LISが提供しているJPKI利用者ソフトでは、スマホをカードリーダーとして利用できますが(参考)、今回使用するOpenSCでは利用できないため(できるかも?)購入する必要があります。私は以下urlのものを購入しました。
カードリーダーをPCに接続し、マイナンバーカードを挿入してください。
2. OpenSCのインストール
OpenSCの説明は公式githubを機械翻訳したものを引用します(引用元)
OpenSCは、スマートカードを操作するライブラリとユーティリティのセットを提供します。主に暗号操作をサポートするカードを対象としており、認証、メール暗号化、デジタル署名などのセキュリティアプリケーションでの使用を容易にします。
公式githubのDownloads/Latest releaseにあるurlをクリックします。最新リリースのページに飛んだら、Assets内にあるOpenSC-0.**.*_win64.msi
をクリックし、ダウンロードします。ダウンロードするファイルはご利用の環境に合わせて変更してください。
ダウンロードしたmsiファイルを実行し、インストールを完了してください。その後、以下のバージョン確認コマンドをコマンドプロンプトで実行し、正常にインストールできたことを確認します。
※ インストールしたフォルダを絶対パスで指定してください
"C:\Program Files\OpenSC Project\OpenSC\tools\opensc-tool.exe" --version
出力例
OpenSC-0.26.1, rev: 043343d2d, commit-time: 2025-01-14 15:39:55 +0100
3. OpenSSLのインストール
OpenSSLの説明は公式githubを機械翻訳したものを引用します(引用元)
OpenSSLソフトウェアライブラリは、汎用暗号化と安全な通信を実現する、堅牢で商用グレードのフル機能ツールキットです。
ダウンロードサイトでWin64 OpenSSL v3.*.* Light
をダウンロードします。EXE
とMSI
はどちらでも構いません。ダウンロードできたら、インストーラーを起動してOpenSLLをインストールしてください。私はすべてデフォルトでインストールしました。
4. OpenSSLのパス設定
スタートボタンを右クリックし、ファイル名を指定して実行
を選択します。入力欄にSystemPropertiesAdvanced
を入力し、OK
を押すと以下の画面が出てきます。

環境変数(N)
をクリックし、システム環境変数(S)
の中から変数がPath
になっているものを探します。Path
をクリックし、編集(I)
を押すと以下のような画面が出現します。

新規(N)
をクリックし、デフォルトでインストールした方はC:\Program Files\OpenSSL-Win64\bin
と入力します。その後OK
を押すとパスの設定が完了します。
以下のバージョン確認コマンドをコマンドプロンプトで実行し、正常にインストールできたことを確認してください。
openssl version
出力例
OpenSSL 3.5.0 8 Apr 2025 (Library: OpenSSL 3.5.0 8 Apr 2025)
5. 電子証明書の読み出し
マイナンバーカード内の電子証明書を読み出していきます。まずはじめにコマンドプロンプトを起動し、以下のコマンドを実行することで、カードリーダーが接続されていることを確認できます。
"C:\Program Files\OpenSC Project\OpenSC\tools\opensc-tool.exe" -a
出力例
Using reader with a card: Circle CIR125 ICC 0
5.1 利用者証明用電子証明書の読み出し
以下のOpenSCコマンドを実行すると、pem形式で利用者証明用電子証明書をDownloads
に出力できます。
"C:\Program Files\OpenSC Project\OpenSC\tools\pkcs15-tool.exe" --read-certificate 1 --output %USERPROFILE%\Downloads\user-ds.pem
次に、以下のOpenSSLコマンドを実行することで、利用者証明用電子証明書の中身を確認できます。
openssl x509 -text -noout -in %USERPROFILE%\Downloads\user-ds.cer
出力例
Certificate:
Data:
Version: 3 (0x2)
Serial Number: XXXXXX...
︙
Signature Value:
XX:XX:XX:...
5.2 署名用電子証明書の読み出し
以下のOpenSCコマンドを実行すると、PINを求められるので入力します。入力後、pem形式で署名用電子証明書をDownloads
に出力できます。
"C:\Program Files\OpenSC Project\OpenSC\tools\pkcs15-tool.exe" --read-certificate 2 --verify-pin --auth-id 2 --output %USERPROFILE%\Downloads\sig-ds.pem
次に、以下のOpenSSLコマンドを実行することで、署名用電子証明書の中身を確認できます。
openssl x509 -text -noout -in %USERPROFILE%\Downloads\sig-ds.cer
出力例
Certificate:
Data:
Version: 3 (0x2)
Serial Number: XXXXXX...
︙
Signature Value:
XX:XX:XX:...
X509v3 Subject Alternative Name:のothername:が文字化けしていますが、OpenSSL::ASN1などでパースすれば見られるみたいです(参考)。
参考