首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导致应用程序崩溃的Cryptoki dll

导致应用程序崩溃的Cryptoki dll
EN

Stack Overflow用户
提问于 2014-09-01 08:05:03
回答 2查看 921关注 0票数 1

我在一个C#应用程序中使用密码。我遇到的问题如下:我使用以下代码初始化加密:

代码语言:javascript
复制
public static bool InitializeCryptoki(string criptokilib)
{
    if (cryptoki != null)
        throw new PdfSignException(PdfSignExceptionCode.PDF_EXCEPTION_NOT_FINALIZED);
    try
    {
        cryptoki = new Cryptoki(criptokilib);
        if (cryptoki.Initialize() == 0)
        {
            isInitialized = true;
            return true;
        }
        return false;
    }
    catch (CryptokiException ex)
    {
        Log.Log(log, LogState.ERROR, UserId, "Initialize", null, ex.Message);
        return false;
    }
}

criptokilib值等于"eTPKCS11.dll".

初始化密码之后,我将使用以下代码检查是否至少存在一个读卡器:

代码语言:javascript
复制
public static bool HasCardReaders
{
    get
    {
        if (cryptoki == null)
            throw new PdfSignException(PdfSignExceptionCode.PDF_EXCEPTION_NOT_INITIALIZED);
        return cryptoki.Slots.Count != 0;
    }
}
  • 当从编译器(VS 2012)以调试模式运行应用程序时,会显示一条错误消息(没有应用程序崩溃),说明没有检测到任何读卡器。
  • 当在编译器外部运行应用程序时(VS 2012) --通过双击调试文件夹中的exe,我的应用程序会崩溃。查看日志文件,有时应用程序在初始化加密时崩溃,有时应用程序在检查是否存在至少一个读卡器时崩溃。

在调试模式下,我发现cryptoki.Slotsi.Token抛出错误编号224 -此错误意味着不存在令牌。这个错误会导致我的应用程序崩溃吗?你知道如何克服这个问题吗?

非常感谢,Gica G。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-01 09:09:03

升级到最后一个NCryptoki.dll似乎解决了这个问题。

然而,我仍然不明白为什么这个错误会导致我的应用程序崩溃。

票数 0
EN

Stack Overflow用户

发布于 2014-09-01 08:07:35

代码语言:javascript
复制
if (cryptoki != null)

这看上去不对。应改为:

代码语言:javascript
复制
if (cryptoki == null)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25601377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档