【问题标题】:how to do cryptography (digital signature)in linux如何在 Linux 中进行密码学(数字签名)
【发布时间】:2011-04-05 12:25:58
【问题描述】:

我已经完成了 PKCS_7_ASN_ENCODING | X509_ASN_ENCODING 在 windows 中使用 wincrypt,我必须在 linux 中验证签名。任何人都可以通过关于 linux 上良好的轻量级加密 api 的信息来告诉我们。

在搜索时我发现 http://home.gna.org/cryptodev-linux/ 并在编译时收到此错误 crypto/hash.h: No such file or directory

【问题讨论】:

  • OpenSSL?它通常默认安装在大多数 Linux 发行版上。我可以指出一个我写的 C++ 包装器 (sslpkix),但它离 1.0 还很远——没有文档,没有示例代码等。无论如何,它可能会有所启发。
  • 嗯,通常只需要 OpenSSL。在什么情况下需要验证签名?也许一些代码?在 linux 上,您可能需要安装一些包含内核头文件的软件包。例如在 ubuntu 上 - sudo apt-get install linux-headers-generic
  • linux内核确实有crypto api。对?如果可能的话,我想使用它。然后我猜它会很轻

标签: c++ c linux cryptography pkcs#7


【解决方案1】:

出现此错误是因为您没有系统/内核的内核头文件,因此当您尝试编译时,无法找到这些头文件。

关于您的最终目标的更多信息,您是否要验证证书是否由其他人的证书签名?

如果是这样,并且如果您愿意使用OpenSSL,请查看this answer

【讨论】:

  • 是的.. 证书由 Windows 中的用户签名(使用 cryptoapi),我必须在 linux 机器上验证它...
【解决方案2】:

NSS

【讨论】:

  • 现在看起来很多标题! (如果你知道我的意思)
  • 我想要一个轻量级的加密 api 仅用于在 linux 上进行验证
【解决方案3】:

我会选择 GPG(它也有自己的 API,只是看侧面)或 Beecrypt,这可能更容易理解,但功能并不复杂

【讨论】:

    猜你喜欢
    • 2020-07-26
    • 2019-07-18
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-19
    • 1970-01-01
    相关资源
    最近更新 更多