Thales/Gemalto智能卡通过Pkcs11Interop构建Pkcs11UriBuilder的相关问题
开发场景与现有实现
- 持有Thales/Gemalto品牌智能卡,可通过配套SafeNet软件正常访问,访问界面参考:智能卡访问界面截图
- 基于Pkcs11Interop库通过C#实现智能卡访问,目前已完成两个基础功能:
- 可正常读取智能卡基础信息
- 可通过代码完成PIN码校验登录
- 已跑通智能卡Serial字段的读取逻辑,对应代码如下:
ITokenInfo tokenInfo = slot.GetTokenInfo(); var serial = tokenInfo.SerialNumber;
当前开发目标
需要创建Pkcs11UriBuilder实例,参考官方实现示例,核心参考代码如下:
// 可通过Pkcs11UriBuilder快速构造符合规范的PKCS#11 URI Pkcs11UriBuilder pkcs11UriBuilder = new Pkcs11UriBuilder(); pkcs11UriBuilder.Serial = "123456"; pkcs11UriBuilder.Type = CKO.CKO_PRIVATE_KEY; pkcs11UriBuilder.Object = "TestApp"; pkcs11UriBuilder.ModulePath = @"C:\Windows\SysWOW64\eTPKCS11.dll"; pkcs11UriBuilder.PinValue = "MyPin";
按照示例说明,构造参数中的Serial、Object字段取值,需要与当前连接智能卡的实际存储信息匹配,目前Serial字段的取值来源已经明确。
核心待解决问题
- 构造
Pkcs11UriBuilder时,Object字段需要传入什么类型的取值? - 如何通过Pkcs11Interop读取智能卡内存储的所有可用Object字段值?
内容的提问来源于stack exchange,提问作者Manuel
相关产品推荐
相关产品推荐

