在 Windows 上访问智能卡时重用 Java 密钥库
2022-09-02 22:41:19
我正在开发一个应用程序,该应用程序使用SUNMSCAPI访问智能卡(电子ID)并检索一些证书。
直到不久前,我可以创建密钥库并对文件列表进行签名,而无需重新创建密钥库,但现在我一次只能对一个文件进行签名。
当签署文件列表时,第一个文件被正确签名;当签署第二个文件时,我得到一个“插入智能卡”对话框,并且正在使用的智能卡显示为灰色。
有没有人见过这种行为?
我正在开发一个应用程序,该应用程序使用SUNMSCAPI访问智能卡(电子ID)并检索一些证书。
直到不久前,我可以创建密钥库并对文件列表进行签名,而无需重新创建密钥库,但现在我一次只能对一个文件进行签名。
当签署文件列表时,第一个文件被正确签名;当签署第二个文件时,我得到一个“插入智能卡”对话框,并且正在使用的智能卡显示为灰色。
有没有人见过这种行为?
是的,我以前见过这个。
我正在为在线使用的葡萄牙身份证开发前端和中间件,一个特别的功能是能够签署多个文件(电子签名),这就是我们的确切行为!
智能卡上的安全模型确保一个身份验证仅持续一个操作。对文件进行签名是一项操作,因此我们必须缓存身份验证详细信息(PIN 码),并循环访问要签名的每个文件的身份验证过程。