ISCardISO7816::InternalAuthenticate 方法
[ InternalAuthenticate 方法可用於需求一節中指定的作業系統。 它不適用於 Windows Server 2003 service Pack 1 (SP1) 及更新版本、Windows Vista、Windows Server 2008 和後續版本的作業系統。 智慧卡模組提供類似的功能。
InternalAuthenticate方法會建構應用程式通訊協定資料單位 (APDU) 命令,使用從介面裝置傳送的挑戰資料,以及儲存在卡片中的金鑰 () ,起始驗證資料的計算。
當相關的秘密附加至 MF 時,命令可用來驗證卡片整體。
當相關的秘密附加至另一個 DF 時,命令可用來驗證該 DF。
語法
HRESULT InternalAuthenticate(
[in] BYTE byAlgorithmRef,
[in] BYTE bySecretRef,
[in] LPBYTEBUFFER pChallenge,
[in] LONG lReplyBytes,
[in, out] LPSCARDCMD *ppCmd
);
參數
-
byAlgorithmRef [in]
-
卡片中演算法的參考。
如果這個值是零,這表示沒有提供任何資訊。 在發出命令之前,或是在資料欄位中提供之前,已知演算法的參考。
-
bySecretRef [in]
-
秘密的參考。
值 意義 - 無資訊
位位置:00000000
沒有提供任何資訊。 在發出命令之前或是在資料欄位中提供之前,已知秘密的參考。- 全域 ref
位位置:0-------
全域參考資料 (MF 特定索引鍵) 。- 特定 ref
位位置:1-------
特定參考資料 (DF 特定索引鍵) 。- RFU
位位置:-xx-----
00 (其他值是 RFU) 。- 祕密
位位置:---xxxxx
秘密數目。 -
pChallenge [in]
-
驗證相關資料的指標 (例如挑戰) 。
-
lReplyBytes [in]
-
回應中預期的位元組數目上限。
-
ppCmd [in, out]
-
在輸入時, ISCardCmd 介面物件的指標或 Null。
傳回時,它會填入此作業所建構的 APDU 命令。 如果 ppCmd 設定為 Null,則會在內部建立 智慧卡ISCardCmd 物件,並使用 ppCmd 指標傳回。
傳回值
方法會傳回下列其中一個可能的值。
傳回碼 | 描述 |
---|---|
|
作業順利完成。 |
|
無效的參數。 |
|
傳入錯誤的指標。 |
|
記憶體不足。 |
備註
命令的成功執行可能會受限於先前命令 (成功完成,例如 VERIFY 或 SELECT FILE) 或選取 (專案,例如相關秘密) 。
如果發出命令時目前已選取金鑰和演算法,則命令可能會隱含地使用金鑰和演算法。
發出命令的次數可能會記錄在卡片中,以限制使用相關秘密或演算法的進一步嘗試次數。
如需此介面提供之所有方法的清單,請參閱 ISCardISO7816。
除了上述 COM 錯誤碼之外,如果呼叫智慧卡函式來完成要求,此介面可能會傳回智慧卡錯誤碼。 如需詳細資訊,請參閱 智慧卡傳回值。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2003 [僅限傳統型應用程式] |
用戶端支援結束 |
Windows XP |
伺服器終止支援 |
Windows Server 2003 |
標頭 |
|
類型程式庫 |
|
DLL |
|
IID |
IID_ISCardISO7816定義為 53B6AA68-3F56-11D0-916B-00AA00C18068 |
另請參閱