原创 PCSC那事兒(六)

  卷 6   這卷談到了 SP 。   直奔編程接口。   SCARD   要滿足 PCSC2 ,這是必須實現的接口 [4] 。 定義了支持 ICC 應用接口的方法。 通常,作爲 ICCSPs 或 CSP 的一部分

原创 PCSC那事兒(三)

  工作組的使命   工作組 ? 上面提到了 PC/SC 工作組,大佬們組織的。很快,你就想知道,工作組的職責是什麼。工作組當然要制定強勢規範。要在 windows 下工作的讀卡器都要遵守。 制定了什麼規範?各有什麼用? Hold

原创 PCSC那事兒(八--SCardEstablishContext)

客戶端代碼分析 前提:至少已經瞭解 linux 進程和進程間通訊,線程和線程間通訊。     繼續。 Everybody,Oh my god.We 're back again. ...   主要目的是分析

原创 PCSC那事兒(一)

寫作背景       由於微軟在PC/SC工作組中的領頭羊地位,且PC/SC的一個關鍵組件——資源管理器已經在Microsoft Windows中得到了支持,PC/SC發展非常迅速,市面上出現了一系列的支持PC/SC的智能卡讀寫器。 近

原创 PCSC那事兒(十四--SCardReleaseContext)

  SCardReleaseContext 看看 SCardReleaseContext 發生了什麼。   576 LONG SCardReleaseContext(SCARDCONTEXT hContext)   577 {

原创 PCSC那事兒(十二--SCardIsValidContext)

  SCardIsValidContext 在 winscard_clnt.c 中定義 實現如下: 3543 LONG SCardIsValidContext(SCARDCONTEXT hContext) 3544 {

原创 PCSC那事兒(十--SCardEstablishContext)

381 行, isExecuted, 在本文件開頭 187 static short isExecuted = 0;   初始化爲 0, 所以首次運行的時候會進入這個條件體。     393 行, ma

原创 PCSC那事兒(十一--SCardEstablishContext)

  這個很典型的, socket 寫操作。採用非阻塞方式寫數據。 同樣的 SHMMessageReceive 也很典型, socket 讀操作。採用非阻塞方式讀數據。不再羅列了。   提前說明, testpcsc 和 pcscd 之

原创 PCSC那事兒(十六--SCardListReaders)

  SCardListReaders SCardListReaders 做了什麼? 定義在 winscard_clnt.c 實現如下: 3202 LONG SCardListReaders(SCARDCONTEXT hC

原创 PCSC那事兒(二)

歷史 春花秋月何時了,往事知多少。 回顧過去,展望未來。 所以我們先了解PCSC的背景。   1996年3月,由Microsoft,IBM,BULL等八家IC卡廠商和PC軟硬件廠商發起制定了PC/SC(Interoperability S

原创 PCSC那事兒(四)

  卷 7 打開卷 7 。我們一起來,大聲點 “Lesson seven”…   本部分描述了智能卡應用程序使用 PC/SC 體系提供的功能的方法。通過使用智 能卡資源管理器和智能卡服務提供者所提供的高層函數接口,智能卡應用程序可

原创 PCSC那事兒(五)

  卷1 前面說過了,現在的人基本都很忙。沒有所謂的閒功夫,從外到內,從下到上了解所有內容。 所以這裏直接把 APPLICATION 這位 TOP 先請出來給大家見見面。 下面說說卷1。   問:卷1談什麼? 答案是,彆着急。

原创 PCSC那事兒(十三--SCardListReaderGroups)

  SCardListReaderGroups 實現在 winscard_clnt.c 定義如下: 3395 LONG SCardListReaderGroups(SCARDCONTEXT hContext, LPSTR m

原创 PCSC那事兒(十五--SCardFreeMemory)

  SCardFreeMemory 定義在 winscard_clnt.c 實現如下: 3321 LONG SCardFreeMemory(SCARDCONTEXT hContext, LPCVOID pvMem) 33

原创 PCSC那事兒(七)

  卷 5 上面說了,很多情況下,得直面 ResourceManager 。 既然如此,就耐心分析分析。   RESOURCEMANAGER   Class RESOURCEMANAGER[6] 屬性 HANDLE