2014-02-05 102 views
2

有人能告訴我一種方法來存儲美國國防部CAC卡的用戶名嗎?我不需要進行任何驗證,只需將卡片中的名稱存儲爲變量即可。我不認爲讀取卡的機器將具有任何網絡連接。我在這一點上是語言/操作系統不可知論者。從美國國防部CAC卡獲取名稱/ UID

謝謝。

回答

2

所以我會回答Windows和Java。

枚舉的終端,那麼如果一個卡存在,(假設只有當前CAC卡):

cc.transmit(new CommandAPDU(CMD_SELECT_APPLET_CAC_CACV2_PKI_IDENTITY_KEY)); 
cc.transmit(new CommandAPDU(CMD_SELECT_EF_CACV2_PKI_IDENTITY_KEY)); 
List<byte[]>[] res = TLVContainer.getTagAndValues(cc); 
x509cert = X509CACHelper.fromBytes(res[0x71].get(0)[0],res[0x70].get(0)); 

你可以看一下選擇小程序並選擇EF命令在NIST 6887的RID,AID, OID可以在cac.mil的文檔中找到。