【问题标题】:Do any replacements for CryptoAPI exist for Windows?Windows 是否存在 CryptoAPI 的替代品?
【发布时间】:2023-03-17 19:35:02
【问题描述】:

我在使用 cryptoAPI 时遇到了重大问题,想知道您是否有任何适用于 Windows 的第三方/更好的解决方案?

我对 CryptoAPI 的主要问题是它不够独立于操作系统。我无法在我的代码中找到合适的平衡点来让东西在 Windows 2003 和 Windows 2008+ 上运行。

我主要想达到的目标可以阅读here。这是我现阶段对密码学的唯一用途。

【问题讨论】:

    标签: c++ c api cryptoapi


    【解决方案1】:

    试试 Bouncy Castle,它在 C# 和 Java 中可用: http://www.bouncycastle.org/

    我们领域的不少供应商在生产中使用它。

    【讨论】:

    【解决方案2】:

    我可以推荐 OpenSSL http://www.openssl.org/。它不仅适用于 SSL 领域,而且适用于整个密码学。它是开源代码。这个事实在某些情况下可能非常有用。它也适用于 Windows。推荐的 Windows 编译二进制文件和库,您可以在这里找到 http://www.slproweb.com/products/Win32OpenSSL.html

    【讨论】:

    • 我尝试打开 SSL,但找不到解码 CMS 编码文件的方法。我想做的是在这里:stackoverflow.com/questions/2720276/…,还没有找到任何方法可以使用 openSSL 轻松地做到这一点,但如果你知道如何请分享。
    • 我相信您可以在代码中找到所需的一切。从 openssl.org/source 下载代码并查看 openssl-1.0.0\demos\sign 或 openssl-1.0.0\openssl-1.0.0\crypto\pkcs7 目录中的示例。您可以使用命令行实用程序openssl.org/docs/apps/openssl.html 来查看 OpenSSL 库的可能性。我建议也看看madboa.com/geek/openssl
    【解决方案3】:

    CryptoAPI 使用起来很痛苦,如果您遇到问题,我可以建议Crypto++ 吗?文档不是最好的,但我发现它非常强大。

    如果不了解您想要实现的目标,恐怕我无法提供更多帮助。

    【讨论】:

    • 你认为它可以用来剥离文件的证书并直接进入文本块吗?
    • 它当然有相关的方法,但我主要将它用于算法实现,所以我不能确定我害怕。
    【解决方案4】:
    • Botan 图书馆 - 非常不错的图书馆
    • gnu-tls/libgcrypt

    【讨论】:

      【解决方案5】:

      Crypto++ 功能强大,但受其复杂性和缺乏自动化/文档的影响。我认为它还缺乏调试,当检查不起作用时,它只是不起作用,但是你几乎没有得到什么可能导致失败的提示......

      无论如何,既然您使用的是 C++,我可以建议Google Keyczar 吗?

      • 它易于使用,具有安全的默认设置,但允许自定义。
      • 它提供了一个完整的密钥管理系统,Crypto++ 没有该系统,而且复杂到可以自己编写代码。
      • 它也是开源的,所以代码可以被审计。
      • 即使在 Windows 环境之外也可移植。

      很遗憾,我自己没有使用过它。我目前坚持使用 Crypto++。但如果我现在有机会选择,我想我会花时间尝试 Keyczar。

      【讨论】:

        猜你喜欢
        • 2010-09-08
        • 2023-03-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-25
        • 1970-01-01
        • 2021-10-09
        相关资源
        最近更新 更多