我正在開發一個使用SUNMSCAPI訪問智能卡(電子ID)並檢索某些證書的應用程序。在Windows上訪問智能卡時重用Java Keystore
直到前一陣我可以創建密鑰庫並簽署一個文件列表,而不需要重新創建密鑰庫,但現在我一次只能簽署一個文件。
簽署文件列表時,第一個文件的簽名是正確的;當簽署第二個文件時,我得到一個「插入智能卡」對話框,正在使用的智能卡變灰。
有沒有人看到這種行爲?
我正在開發一個使用SUNMSCAPI訪問智能卡(電子ID)並檢索某些證書的應用程序。在Windows上訪問智能卡時重用Java Keystore
直到前一陣我可以創建密鑰庫並簽署一個文件列表,而不需要重新創建密鑰庫,但現在我一次只能簽署一個文件。
簽署文件列表時,第一個文件的簽名是正確的;當簽署第二個文件時,我得到一個「插入智能卡」對話框,正在使用的智能卡變灰。
有沒有人看到這種行爲?
是的,我以前見過這個。
我正在開發用於在線使用葡萄牙ID卡的前端和中間件,一個特殊功能是能夠簽署多個文件(電子簽名),這就是我們的確切行爲!
智能卡上的安全模型可確保一次認證只支持一項操作。簽名文件是一個動作,因此我們必須緩存身份驗證詳細信息(PIN碼),並針對我們希望簽名的每個文件在身份驗證過程中循環。
很可能是這個我們正確的答案。請注意,對簽名操作的訪問控制是特定於卡的,有時甚至是用戶可配置的。 –
您使用多線程嗎?它也可能是Windows或其他應用程序,阻止應用程序獲取(完全)訪問該卡。 –
哦,歡迎來到stackoverflow。 –
由於您的回答非常少,您可能會發布一些代碼示例來顯示您正在使用的內容?您也可能希望解決@owlstead的問題。 –