哪个更适合使用openssl或windows capi来解决ecnryption问题什么是pro和con列表都适用。 ,如果有可能在openssl上编写我的加密程序,并用windows capi解密,没有问题,或者有问题。openssl vs windows capi
6
A
回答
9
为了加密的目的,我觉得首先考虑密钥管理更容易。如何存储密钥,如何创建密钥,谁使用密钥以及如何安全销毁密钥。根据我的经验,密钥管理是最多限制应用程序结构的因素。
CryptoAPI提供了一个API来访问通过在操作系统中注册的驱动程序(“CSP”)存储在任意位置的密钥。 OpenSSL可以在OpenSC的帮助下提供类似的功能,但驱动程序应支持PKCS#11 API。无论哪种方式,驱动程序都是由构建存储设备的人员提供的某种DLL(假设该密钥已存储并在硬件设备中使用)。
如果您希望能够使用存储在硬件设备中的密钥(设备可能是智能卡,HSM,任何可以执行某些加密但将拒绝给密钥本身的密钥),那么您将必须通过CryptoAPI或PKCS#11。 CryptoAPI本质上仅限于Windows,所以如果您希望您的代码可能在非Windows系统(MacOS,Linux,Solaris ...)上运行,那么PKCS#11就是您的选择。如果你使用PKCS#11,你可能想尝试NSS而不是OpenSSL。 NSS是Netscape派生浏览器(例如Firefox)中使用的库。它是开源的。另一方面,如果您只针对Windows系统,那么CryptoAPI会简化分发,因为它已经存在,不需要额外的DLL。如果你已经准备好放弃硬件,并且想要使用纯软件加密技术,并且把密钥保存在RAM中,那么你可能不想使用CryptoAPI,而CryptoAPI在它所实现的算法数量和(例如CryptoAPI坚持RSA公开指数小于32位 - 这是正常情况,但限制仍然是任意的并且可能令人厌烦)。那里有许多密码库;除了OpenSSL和NSS之外,您可能需要调查Crypto++,这是相当成熟的,并且被认为是对C++友好的。
相关问题
- 1. HTTPS使用cURL,使用openssl与capi引擎
- 2. OPENSSL vs IPSEC
- 3. 如何将CAPI的CryptImportKey与来自OpenSSL的PEM编码公钥一起使用?
- 4. Botan vs OpenSSL vs Crypto ++加密技术
- 5. 客户端CAPI访问
- 6. Java Mac HMAC vs C++ OpenSSL hmac
- 7. Openssl in windows问题
- 8. 如何在Windows中成功openssl?
- 9. 64位Windows上的OpenSSL
- 10. 在Windows上配置stunnel和openssl以支持TLS 1.2
- 11. OpenSSL和Apple Keychain集成
- 12. mkdir Windows vs Linux
- 13. Application.run(Windows)vs Application.run()
- 14. Python在Windows中扭曲OpenSSL错误
- 15. 带有Windows证书存储的OpenSSL SSL_CTX_use_PrivateKey_file
- 16. 使用OpenSSL API实现Windows CryptoAPI CryptDeriveKey
- 17. 如何为Windows XP构建Openssl TLS V1.2?
- 18. 在Windows上创建一个OpenSSL证书
- 19. 的Windows的CryptoAPI和OpenSSL X509格式
- 20. OpenSSL的Windows上不recoginize我-extfile
- 21. OpenSSL的PRNG如何在Windows中工作?
- 22. 适用于Windows的OpenSSL RSA。后门?
- 23. 在Windows 8上编译OpenSSL地铁
- 24. Windows上的Apache上的OpenSSL证书
- 25. 如何在Windows 7 64bit上安装OpenSSL
- 26. 在windows上编译openssl和ruby
- 27. 的OpenSSL的Windows的x64编译错误
- 28. PowerShell的OpenSSL的ObjectNotFound在Windows Server 2012
- 29. Windows中,OpenSSL的生成key.pem和cert.pem
- 30. XAMPP vs基本Windows
[我一直在努力](http://stackoverflow.com/q/43802185/267874)使Windows上的OpenSSL与HSM一起工作数周,现在我必须说,你的一个简单的答案在这里清除了整个照片给我!你我的朋友,真的知道如何提供清晰和相关的信息。谢谢!现在我走了,尝试PKCS#11的方式,现在可能是跨平台的! – 2017-05-05 12:28:25