0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windows搭載のPCでマイナンバーカード内の電子証明書の読み出し

Last updated at Posted at 2025-04-19

背景

Macでマイナンバーカード内の電子証明書を確認する記事ばっかりだったので備忘録

1.カードリーダーの購入

マイナンバーカードをPCで読み取るにはカードリーダーが必要です。J-LISが提供しているJPKI利用者ソフトでは、スマホをカードリーダーとして利用できますが(参考)、今回使用するOpenSCでは利用できないため(できるかも?)購入する必要があります。私は以下urlのものを購入しました。

カードリーダーをPCに接続し、マイナンバーカードを挿入してください。

2. OpenSCのインストール

OpenSCの説明は公式githubを機械翻訳したものを引用します(引用元)

OpenSCは、スマートカードを操作するライブラリとユーティリティのセットを提供します。主に暗号操作をサポートするカードを対象としており、認証、メール暗号化、デジタル署名などのセキュリティアプリケーションでの使用を容易にします。

公式githubDownloads/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をダウンロードします。EXEMSIはどちらでも構いません。ダウンロードできたら、インストーラーを起動して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などでパースすれば見られるみたいです(参考)。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?