マイナンバーカード作業記録
マイナンバーカードゲーム
参考
準備
買ったもの
準備 in Ubuntu
openscのinstall...
apt install opensc
/etc/openscにconfigがある.
pcscdを後ろで動かさないとopenscのcommandをいくら叩いてもカードリーダーがないと言われた...
systemctl enable --now pcscd.service
閲覧
4つの公開鍵とその証明書(署名)を見ることができる
pkcs15-tool --list-certificates
試しにIDが1の証明書X.509 Certificate [User Authentication Certificate]を見てみる.
pkcs15-tool --read-certificate 1
pem形式で出力するので,人間に優しく
pkcs15-tool --read-certificate 1 | openssl x509 -text -noout
code: 抜粋
Certificate:
Data:
Signature Algorithm: sha256WithRSAEncryption
Subject: ...
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (2048 bit)
Modulus:
...
Exponent: ...
証明書のプロファイル(?)が決まっているらしい
もしくは
証明書のプロファイルはX509v3 extensions: ... X509v3 Certificate Policiesにあるurlを見に行けばいいみたい.
X509v3 Certificate Policiesのurlのほうがわかりやすくていい感じ.
検証
を見に行くと2つ自己証明書があるのでマイナンバーカードに入っているuser authenticationの方,
すなわち利用者証明用の公開鍵の証明書を検証してみる.
有効期限が短いauthca01.cerの方では検証がうまくいかなかった...
有効期限が長いauthca02.cerを持ってきて,DER形式からPEM形式に変換.
openssl x509 -in authca02.cer -out authca02.pem -inform DER
マイナンバーカードから出したuser authenticationの公開鍵の証明書をuser_auth.pemに保存.
pkcs15-tool --read-certificate 1 | openssl x509 -text -out user_auth.pem
検証
openssl verify -CAfile authca02.pem user_auth.pem
チェーンの確認
openssl verify -CAfile authca02.pem -show_chain user_auth.pem
TODO
なんかファイルを署名させてみる.
tlsの証明書とか作ってくれるの?