如何解决在 C# 中清除智能令牌的 Pin 缓存
我正在开发使用智能令牌进行签名和解密操作的 C# 应用程序(.Net 框架)。我希望每次访问令牌时都提供 pin。我想清除 pin 缓存。
我尝试使用 Crypto API 中的 CryptSetProvParam 函数,但它在使用某些令牌模型时失败了。
[DllImport("Advapi32.dll",SetLastError = true)]
private static extern bool CryptSetProvParam(IntPtr hProv,uint dwParam,IntPtr pvData,uint dwFlags);
我也尝试在下一代加密技术 API 中使用函数,但它根本不起作用。 有没有办法做到这一点?
解决方法
在 Windows 上,智能卡使用 CSP(加密服务提供商)。某些智能卡的 CSP 具有存储密码的选项。因此,如果用户选择了该选项,则用户可能必须删除该选项。我附上了 Hypersecu ePass2003 令牌管理器的示例屏幕截图 -> 设置。
,要在 NetCore 中缓存 - 分布式缓存,您可以查看此 Microsoft 文档 Distributed Caching NetCore
您可以使用 Redis 缓存并相应地删除令牌,请参阅此简短教程,了解如何立即在 NET Core 上开始使用 Redis。 how to get started with Redis on NET Core in no time.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。