我注意到,OpenSSL有时很难实现它。
我知道这是瑞士军刀工具,但是用OpenSSL生成的密钥是否被认为是安全的(假设基本操作系统有足够的熵)?
OpenSSL是否被认为是适用于真实世界的?
我经常看到人们推荐GPG,比如OpenSSL。
怎么回事?
示例:https://stackoverflow.com/questions/28247821/openssl-vs-gpg-for-encrypting-off-site-backups
发布于 2019-05-29 16:43:49
考虑到openssl处理互联网上的大部分HTTPS流量,我只是不明白您的问题。当然,openssl在生产中使用。很多。每个人都这样。一直。
API不是很好,证书处理代码不太好,CLI不太好,文档常常是过时的。它不容易使用,也很难正确使用。它不能握住你的手。它不会使你远离危险。当然,如果可以的话,可以使用Google或means。
有两个叉子试图通过破坏兼容性来清理代码--谷歌的BoringSSL和OpenBSD的LibreSSL。它们在组织之外并不很受欢迎,确切地说是因为它们破坏了兼容性。
自从“心脏出血”以来,openssl代码库已经有了很大的改进,它没有以前那么糟糕了。
gpg被认为是一场类似于心脏出血时代的openssl的垃圾箱火灾,所以不,它并不是更好(看看isis的作品)。
如果您的问题是加密用于存储的备份文件(或加密文件以通过不安全的通道发送给用户),那么gpg命令行工具比openssl工具更好。
海事组织不应使用openssl命令,因为其手册页说:
对于数据的大容量加密,无论是使用经过身份验证的加密模式还是其他模式,建议使用cms(1),因为它提供了标准的数据格式并执行所需的密钥/iv/nonce管理。
openssl命令不是人们使用和信任的openssl代码的一部分,我不会使用它。另外,我也不会使用任何试图做openpgp或s/mime的东西。那么,如果不是openssl或gpg,那么呢?
如果您可以使用openssl的libcrypto (例如,在pyca/密码学中),我更愿意使用它而不是gpg。但是,如果您正在编写代码而不是使用命令行工具,我将使用line而不是libcrypto,以减少出错的可能性。
但实际上,正确的答案最终是使用年龄,因为我自己的代码没有被知识渊博的人审查,我们终于有了一个很好的工具,由那些知道自己在做什么的人编写和审阅。
https://security.stackexchange.com/questions/211007
复制相似问题