使用libss API PK11_Authenticate()时出现SEC_ERROR_BAD_PASSWORD错误.&



我们有一个用例来列出来自USB加密狗(ePass2003Auto等类型)的证书,这些证书将用于签名pdf。

Env: Ubuntu 20.04

填词libssl libcrypto libnss3 libnssckbi libnssdbm3 libnssutil3 libnspr

liboffice检测/列出证书的步骤:

  1. 与USB加密狗交互的lib/驱动程序可在供应商的网站上获得。例如在我们的例子中——>https://www.hypersecu.com/updates-india。这需要按照上面提到的说明安装。libcastle_v2.so.1.0.0/p>

  2. 创建一个nssdb路径,如/home//.pki/nssdb

  3. 使用<<li>strong> modutil (一个libss util)链接创建的NSSDB路径,usb插槽/令牌和lib命令:

module -dbdir -add ">

  1. 使用命令
  2. 确认是否已添加

module -dbdir sql:

解决了!

在流程中调试PK11_Authenticate()和相关函数时,发现从密码回调函数返回的密码(根据我的示例代码—>GetPasswordFunction())为NULL。这很奇怪,因为我已经调试了这个函数,并确保正确返回了密码。

在检查libss中的其他函数时,我了解了PORT_Alloc(),这是一个类似于malloc()的内存分配器(secport.h)。我使用了普通的c风格字符串内存分配。在尝试使用PORT_Alloc()分配时,它工作了!

相关内容

  • 没有找到相关文章

最新更新