利用者証明用証明書を取得してみよう!
事前準備
コマンドラインツール
NFC カードリーダー
必要に応じてドライバをいれる
取得
$ pkcs15-tool --read-certificate 1
見やすくする
$ pkcs15-tool --read-certificate 1 | openssl x509 -text -noout
base64 エンコーディングからバイト列に変換する
code:index.js
import * as fs from 'fs'
// Read the PEM file
const pem = fs.readFileSync('./script/hoge.pem', 'utf8')
// Remove the '-----BEGIN CERTIFICATE-----' and '-----END CERTIFICATE-----' lines
const base64String = pem
.replace('-----BEGIN CERTIFICATE-----', '')
.replace('-----END CERTIFICATE-----', '')
.replace(/\n/g, '')
const der = Buffer.from(base64String, 'base64')
console.log(der.toString('hex'))
Modulus を切り出す
code:extract_modulus.ts
import * as crypto from 'crypto'
import * as fs from 'fs'
// Read the PEM file
const pem = fs.readFileSync('./script/hoge.pem', 'utf8')
// Remove the '-----BEGIN CERTIFICATE-----' and '-----END CERTIFICATE-----' lines
const base64String = pem
.replace('-----BEGIN CERTIFICATE-----', '')
.replace('-----END CERTIFICATE-----', '')
.replace(/\n/g, '')
const der = Buffer.from(base64String, 'base64')
console.log(der.toString('hex'))
console.log(0x${der.slice(276 + 5, 276 + 5 + 256).toString('hex')})