Indy組件是否有任何功能來驗證智能卡(CAC)的憑證?我假設它必須與InitializeSecurityContext
一起使用。使用Indy組件驗證智能卡憑證
我在C++ Builder西雅圖中使用它,但即使是德爾福的例子,將不勝感激。
這是我迄今想通了:
- 開放系統證書存儲區(
CertOpenSystemStore
),並讓用戶 選擇證書(CryptUIDlgSelectCertificateFromStore
)。 - 獲取憑證句柄(
AcquireCredentialsHandle
)。 - 連接到使用安全端口443
- 呼叫
InitializeSecurityContext
返回SEC_I_CONTINUE_NEEDED使用TIdTCPClient
和TIdSSLIOHandlerSocketOpenSSL
我的服務器。
之後,我不知道應該發送到服務器什麼,以及期待什麼回報。此時系統應該詢問用戶PIN碼?
謝謝
Indy組件沒有智能卡或支付終端(POS)的東西。你必須自己寫。您還沒有確定付款終端的類型,但即使您已經這樣做,我也可以告訴您,沒有人會爲您寫出一大堆POS支付系統代碼。 INDY的關注點是爲基本的IETF RFC協議提供組件,比如HTTP,FTP等。你在談論什麼叫做APPLICATION LAYER關注。通過HTTP和HTTPS來回傳遞的內容不是Indy的問題,而是您自己的問題。 –
這不涉及任何形式的付款。軍方使用「通用訪問卡」(AKA CAC)進行識別/驗證。該卡包含一堆用於不同目的的證書,該想法是多步驟驗證。在這種情況下,用戶必須擁有唯一的(卡)和知道的東西(用於訪問卡上證書的引腳)。我正在編寫一個應用程序,需要使用智能卡上的證書對用戶進行身份驗證。我也知道Indy的角色。正如我上面所說,我已經連接到服務器。我不知道要發送和接收什麼。 – Sam
這仍然是一個非常小的垂直市場應用關注。 Indy不處理問題「我不知道如何發送字節到我的服務器」。你做。 –