如何使用APDU命令獲取智能卡的序列號? 我試圖通過使用winscard.dll
的SCardGetAttrib函數來查詢它,但沒有運氣,我被告知使用APDU命令來做到這一點,因爲沒有標準的方法來獲取序列號。問題是我無法弄清楚我的智能卡是什麼類型的!所以我查閱了很少流行的智能卡製造商的文檔,但沒有找到獲得序列號的方法!APDU命令獲取智能卡的序列號
我的讀卡器是ACR88。
如何使用APDU命令獲取智能卡的序列號? 我試圖通過使用winscard.dll
的SCardGetAttrib函數來查詢它,但沒有運氣,我被告知使用APDU命令來做到這一點,因爲沒有標準的方法來獲取序列號。問題是我無法弄清楚我的智能卡是什麼類型的!所以我查閱了很少流行的智能卡製造商的文檔,但沒有找到獲得序列號的方法!APDU命令獲取智能卡的序列號
我的讀卡器是ACR88。
在A0下面的命令,可能需要00或別的東西(下面的代碼工作的SIM卡上):
SELECT MF:
=> A0A40000023F00
<= 9F16
SELECT EFiccid:
=> A0A40000022FE2
<= 9F0F
READ BINARY:
=> A0B000000A
<= 984310011823020084F99000
您的ICCID已被交換並進行了luhn檢查(984310011823020084F9 => 8934011081322000489)。
爲SCOSTA特定的卡,你可以使用下面的命令來讀取芯片序列號下的標籤46, 00CA0046XX或00CA0246XX 「上次XX取決於爲了解長度的卡變化給00和將給予「迴應6CXX',你可以使用xx來獲取正確的數據,這是因爲卡到卡的序列號長度不同
什麼是最後的0xF9翻譯成9?是'F'一些有點「不理我」的性格? – BlueWizard
是的,這是一個填充。 – takumar