夏休みの自由研究も最後だ。
なんで公開鍵でNFCなのかというと、以前中断したマイナンバーカードだからだ。
マイナンバーカードでSSHする - AAA Blog
こちらのアプリで動かせればよかったのだが、うちのPaSoRiでは動かなかったので、しょうがなくソースを読んで、SELECT FILEとREAD BINARYした。
動かしている方の情報を見ていると、公開鍵を取得するときには暗証番号の入力をしていないようだったから、きっとREAD BINARYしてるだけだろう、と当たりを付けて、コミット履歴から探していった。
・・・というのは結果の話で、そこに行き着くまでがかなり大変だったのだ。
自由研究にふさわしいのだけど、書いてよい情報かわからんので、書かない。
公開鍵を読む、といっても、どうやって読んだデータが公開鍵か判断するんだ?と思われるかもしれんが、それはJPKI利用者ソフトという公的なツールがあって、それが公開鍵情報も出力するのだ。
だから、読み出したバイナリデータを検索して、一致するデータを探していったのだ。
実のところ、データは読み出せたものの、他にもいろいろデータが入っているので、公開鍵だけを抜き出す、というところまではできていない。
がさっとバケツで水をすくったような形だ。
バイナリデータは、ASN.1という形式のようだ。
たぶん、うまく抜き出してOpenSSLなどを使えば、他でも使える形式に変換できるんだろう。
そして、カードには秘密鍵で符号化する装置が入っているから、電子署名として使うことができるというわけだ。
総務省の資料を見ていると、何のアクセスか忘れたが、1件あたりいくらにしようか、というような検討が行われていたけど、この部分は問い合わせがいらないから、きっと無料で使えるんだろう。
まあ、5年ごとに更新する必要はあるんだろうが。。。
あれ、5年経ったからってカードが読めなくなるわけじゃないよね?
ならば、失効を気にしなければずっと使えるのか。。。
このあたりの情報は
返信削除利用者クライアントソフトに係る技術仕様について
https://www.j-lis.go.jp/jpki/procedure/procedure1_2_3.html
で公開されている情報でWindowsやAndroidからはAPIアクセス可能な気がしますがいかがでしょうか?
(こんど試してみるつもりです)
情報ありがとうございます。
削除こんなのがあったんですね。。
Android版で、Bluetooth接続するところまであるとは。
このAPIがあれば、正式なアプリを作っても問題なさそうですね。