我在一个C#应用程序中使用密码。我遇到的问题如下:我使用以下代码初始化加密:
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".
初始化密码之后,我将使用以下代码检查是否至少存在一个读卡器:
public static bool HasCardReaders
{
get
{
if (cryptoki == null)
throw new PdfSignException(PdfSignExceptionCode.PDF_EXCEPTION_NOT_INITIALIZED);
return cryptoki.Slots.Count != 0;
}
}在调试模式下,我发现cryptoki.Slotsi.Token抛出错误编号224 -此错误意味着不存在令牌。这个错误会导致我的应用程序崩溃吗?你知道如何克服这个问题吗?
非常感谢,Gica G。
发布于 2014-09-01 09:09:03
升级到最后一个NCryptoki.dll似乎解决了这个问题。
然而,我仍然不明白为什么这个错误会导致我的应用程序崩溃。
发布于 2014-09-01 08:07:35
if (cryptoki != null)这看上去不对。应改为:
if (cryptoki == null)https://stackoverflow.com/questions/25601377
复制相似问题