7月 25, 2014

Parsing X509 Certificate

臺灣發行的自然人憑證 IC 卡使用 X.509 標準格式,所以只要讓使用者讀出憑證後,丟到後端由 PHP 剖析,即可獲取卡片基本資訊。像是卡片持有人姓名、序號、發行單位(通常是內政部憑證管理中心)與身份證末四碼。

在 PHP 上有個開源專案 phpseclib 可以輕鬆完成 X.509 憑證解析(Parser)這件事。試著把自己的憑證丟進去測試,幾個比較重要的欄位都有解出來。

phpseclib: X.509 Decoder

函式的使用方法:
include('File/X509.php');
$X = new File_X509();
$cert = $X->loadX509(__CERTIFICATE-HERE__);

持卡人姓名:
$cert['tbsCertificate']['subject']
['rdnSequence'][1][0]['value']['utf8String']

發行單位名稱:
$cert['tbsCertificate']['issuer']
['rdnSequence'][2][0]['value']['utf8String']

沒有留言:

張貼留言