【问题标题】:Which one should I use: session vs _session in Pkcs11interop我应该使用哪一个:Pkcs11interop 中的 session vs _session
【发布时间】:2017-06-29 19:55:08
【问题描述】:

我面临与该帖子的所有者相同的问题: Threadsafe usage of PKCS11Interop library in C#

这里你提供了一个解决方案,并给出了https://github.com/jariq/Pkcs11Interop.PDF/blob/1.3.0/src/Pkcs11Interop.PDF/Pkcs11RsaSignature.cs的链接

我有一个小困惑,在这堂课中我看到了很多你正在使用的地方

using (Session session = _slot.OpenSession(true))

声明。但是在其中,您使用的是预定义变量_session,而不是使用此session。 但是在Sign 方法中,您使用的是session 而不是_session。 请帮忙,在这种情况下我应该使用session_session

【问题讨论】:

    标签: c# pkcs#11 hsm pkcs11interop


    【解决方案1】:

    感谢您发现这一点。应始终首选局部变量 session。字段_session 应仅用于保持登录状态。我已经修复了提交 179003bfixed class is available in master branch 中的代码。

    【讨论】:

    • 感谢@jariq 的快速解决,您永远是救世主。
    • 如果您能提供帮助,我还有一个问题。在我的课堂上,我总是在构造函数中登录 HSM 并在 dispose 方法中注销。但是,如果出现一些异常,它总是开始抛出用户已经登录到 HSM 的错误。我的应用程序是一个多线程应用程序。请帮助我该怎么办。
    • 在 catch 块中我已经写了 session.Dispose() 我应该添加 session.Logout()。或者是否有任何方法可以告诉我用户是否已经登录。然后我可以检查,如果他没有登录,那么只有我会调用 Login 方法。提前致谢
    • @Kumar 您可以使用session.GetSessionInfo().State 来检查它是公共会话还是经过身份验证的会话。
    • 非常感谢 jariq
    猜你喜欢
    • 1970-01-01
    • 2011-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多