質問する
1

マイナンバーカードの電子署名用証明書が表示されない

質問日 2017-12-02 15:43:02 +0200

updated 2017-12-20 05:40:51 +0200

マイナンバーカードで文書に電子署名をしようとしたところ、マイナンバーカードの署名パスワードを入力したところで証明書が表示されません。 どうすればマイナンバーカードを使って電子署名できるでしょうか?

FirefoxとSeahorse(鍵マネージャー)でカードリーダーから電子証明書が読めることは確認できています。 (詳しい環境は後ろに書いています。)

やったこと

1. FIrefox 57.0にセキュリティデバイスとしてOpenSCライブラリを登録

  1. Firefoxの設定→プライバシーとセキュリティ→証明書→セキュリティデバイスを選択
  2. 以下のようにモジュールを追加
    • モジュール名: OpenSC PKCS#11 Module
    • モジュルーファイル名: /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so

2. LibreOfficeからFirefox設定ディレクトリのパスを指定

環境変数「MOZILLA_CERTIFICATE_FOLDER」を指定しなくても、オプションのLibreOffice→セキュリティにある証明書から変更できました。

証明書のパス

3. LibreOfficeを起動して署名

  1. LibreOfficeを起動して、電子署名をする文書を開く
  2. メニュー:ファイル→デジタル署名→デジタル署名を選択
  3. デジタル署名ダイアログの「ドキュメントに署名」ボタンを押す

そうするとJPKI(マイナンバーカード)のパスワードの入力を求められます。

パスワードの入力

パスワードを入力すると

パスワード入力後

証明書が表示されるはずですが、GPG鍵しか表示されません。

どうすれば証明書が表示されて署名ができるようになるのでしょうか?


環境

  • Debian GNU/Linux Sid (amd64)
  • カードリーダー: SCR3310

LibreOffice 5.4.3

Debian版

バージョン: 5.4.3.2
Build ID: 1:5.4.3-3
CPU threads: 4; OS: Linux 4.13; UI render: default; VCL: gtk3; 
ロケール: ja-JP (ja_JP.UTF-8); Calc: group

TDF版

バージョン: 5.4.3.2
Build ID: 92a7159f7e4af62137622921e809f8546db437e5
CPU threads: 4; OS: Linux 4.13; UI render: default; VCL: gtk2; 
ロケール: ja-JP (ja_JP.UTF-8); Calc: group

OpenSC

ii  opensc                                                           0.17.0-2                             amd64        Smart card utilities with support for PKCS#15 compatible cards
ii  opensc-pkcs11:amd64                                              0.17.0-2                             amd64        Smart card utilities with support for PKCS#15 compatible cards
edit retag flag offensive close merge delete

Comments

詳しくないから答えられんが一応メモ。
https://opengrok.libreoffice.org/xref...
ただ、よくわからんのは、mscryptやnssのgetAllCertificates()は長さ0の配列を返すっぽいので
https://gerrit.libreoffice.org/#/c/41...
暗号化のときに色々表示されているならgpg実装から取得のはず。
一方、パスワード要求を行う関数ポインタはnss実装のコンストラクタで保持しているんだよなあ…

himajin100000 のGravatar画像himajin100000 ( 2017-12-05 02:09:33 +0200 )edit

原因は回答に書きましたが自分の凡ミスでした…

nogajun のGravatar画像nogajun ( 2017-12-10 17:04:10 +0200 )edit

1 Answer

1

回答日 2017-12-10 17:03:23 +0200

Linux環境でマイナンバーカードを使った電子署名ができました。 方法の詳細はこちらをご覧ください。

できなかった原因ですが、パスワードの入力にありました。

「ドキュメントに署名」ボタンを押すとパスワードの入力を求められますが、この疑問を書き込んだときは1回だけの入力と思い込んでました。しかし、パスワードの入力は2回あり、両方が合っていないとリストに証明書が出てこないということでした。

気づかなかった原因としては、1回目と2回目のメッセージがとてもわかりづらい、そして入力を間違えてもエラーが出ない、この二つの理由で気づくのに遅れました。

ということで、まとめとしてはマイナンバーカードを使って電子署名をするときのパスワードは、以下のように最初は署名用パスワード、2回目は4桁のPINコードを入力します。

  1. Digital Signature PIN (JPKI): 署名用電子証明書用暗証番号 (長いパスワード)
  2. User Authentication PIN (JPKI): 利用者証明用電子証明書用暗証番号 (4桁のPINコード)
edit flag offensive delete link もっと
ログイン/サインアップして回答する

質問ツール

1 follower

Stats

Asked: 2017-12-02 15:43:02 +0200

Seen: 246 times

Last updated: Dec 20 '17