【问题标题】:C_GetSlotList Failing when called from IIS but not from IIS express从 IIS 但不是从 IIS express 调用时,C_GetSlotList 失败
【发布时间】:2016-10-18 16:34:22
【问题描述】:

所以我有这个 c# web 服务,它最终通过放置在 system32 文件夹中的一些智能卡 USB 驱动程序从德国 Elster 工具包 (Eric) 调用 C_GetSlotList() 方法。 我在计算机服务器中有一张智能卡。当我在 IIS Express 中托管我的服务时,一切正常,但在 IIS 中却不行。可能是什么问题呢?有什么东西会阻止 IIS 访问驱动程序吗?我确保我使用的应用程序池的身份具有管理员权限。 我正在使用 Windows 7 专业版,这是我得到的日志类型:

2016-10-18 15:16:58,144560  INFO: esigner       cryptokiVersion = 02.14
2016-10-18 15:16:58,144560  INFO: esigner        manufacturerID = A.E.T. Europe B.V.              
2016-10-18 15:17:01,244870 ERROR: esigner       error calling C_GetSlotList()
2016-10-18 15:17:01,244870 ERROR: esigner                    rv = 00000006
2016-10-18 15:17:01,244870 ERROR: esigner           ulSlotCount = 0
2016-10-18 15:17:01,244870 ERROR: esigner       pkcs11_init() failed
2016-10-18 15:17:01,245870  INFO: esigner  ENGINE_set_default_RSA(0436CC30) = returned 0
2016-10-18 15:17:01,245870  INFO: esigner       esiclGetToken() = end critical section

【问题讨论】:

    标签: iis cryptography pkcs#11


    【解决方案1】:

    将 IIS 应用程序池标识更改为 LocalService 通常会有所帮助。不要问我为什么:)

    【讨论】:

    • 你为自己赢得了一杯啤酒,伙计,我的老板可能会亲吻你的脚:)。成功了:D
    • 可以,我也只在其他电脑上测试一下。
    • 别问我为什么 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-15
    • 1970-01-01
    • 2013-07-20
    • 2014-09-29
    相关资源
    最近更新 更多