问题标签 [libcrypto]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - 在 Windows 上使用 OpenSSL 编译 cUrl,缺少 -lcrypto 和 -lssl
当我尝试在没有 SSL 支持的情况下编译 cUrl 时,没有问题。我使用这样的命令:
我按照 cUrl INSTALL 文件中的说明使其支持 SSL,尝试以这种方式编译它:
但它不起作用,因为我收到此错误:
我已经从Shining Light Productions下载了 cUrl v7.40.0 和 Win64 OpenSSL v1.0.2a 。据我了解,OpenSSL 的这个发行版包含libeay32.dll
,libssl32.dll
而ssleay32.dll
不是libcrypto.dll
and libssl.dll
,我没有和 编译器正在寻找的。我还检查了我的C:\Windows\System32
文件夹中是否包含所有三个 dll。我正在使用 MinGW-w64 编译器,没有 MSYS,版本 4.9.2。
为了在 Win64 上编译支持 SSL 的 cUrl 库,我需要做什么?我是否需要修改我的编译命令、某些文件,或者我是否下载了错误版本的 OpenSSL?任何帮助都非常感谢。
c - 使用 openssl 库获取 x509 证书哈希
我目前正在开发一个应用程序,它使用 openssl 库(libcrypto)来生成证书。现在我必须得到一个已经存在的证书的哈希值。
当我使用终端时,我可以通过使用生成哈希值
输出:01da0e2b
这是我的代码,我尝试使用 C 中的库生成我的哈希值。
输出:1817886a
但实际上我的输出是不同的。有人知道我在做什么错吗?
c++ - 静态链接 libcurl 到项目(仍然需要 DLL)
我正在使用带有 C/C++ 插件的 Netbeans IDE。
我的代码编译没有任何问题。
CURL_STATICLIB
已定义(-DCURL_STATICLIB
也已尝试#define CURL_STATICLIB
)。
这是我所有的链接库。
我试图避免使用多个 DLL 打包 exe,所以我试图静态链接它。
即使在链接之后我仍然得到依赖错误。(libcurl.dll libeay32.dll)
c - OpenSSL AES_cbc_encrypt 与 EVP 接口
我需要使用 AES-CBC 加密长期存在的网络数据流。我在想我只会打EVP_EncryptInit_ex()
一次电话,然后保存 EVP_CIPHER_CTX
以供后续调用EVP_EncryptUpdate
. 然后在解密端做同样的事情。我发现的第一个问题是 EVP_DecryptUpdate 总是落后一个块。例如,如果我加密 32 个字节,第一次解密更新将只返回 16 个,即使我知道它已经解密了所有 32 个字节。我想这意味着我需要EVP_DecryptFinal
在 every 之后调用EVP_DecryptUpdate
,然后EVP_EncryptInit_ex()
在下一次更新之前重置 iv。
第二个问题是我可能有很多 1000 个这样的流,并且正在尝试最小化内存占用。sizeof(EVP_CIPHER_CTX)
只有 168 字节,但如果我在 1000 次调用之前和之后查询内存使用情况EVP_EncryptInit_ex()
,看起来它为每个上下文分配了额外的 412 字节(这是在第一次调用后的 20K 之上)。
更正,我看到每个 CTX 412 字节不是 168 + 412
AES_cbc_encrypt()
界面看起来更适合我的需要。有一个固定的 260 字节AES_KEY
结构,另外我需要自己维护 16 字节的 IV。但是,据我了解,它不使用 AES-NI 英特尔硬件加速。 https://security.stackexchange.com/questions/35036/different-performance-of-openssl-speed-on-the-same-hardware-with-aes-256-evp-an 有没有办法启用 AES-NI在AEC_cbc_encrypt()
界面上?EVP 的 2 倍内存需求不仅是 API 的副作用,而且是提高速度所必需的吗?是否有使用 AES-NI 的 OpenSSL 的良好替代方案?
c - 带有 libcrypto 和 libcurl 的 OCSP
我正在编写一个需要验证证书有效性的应用程序。为此,我想使用 OCSP。我没有自己实现 OCSP,而是查看 OpenSSLlibcrypto
以准备必要的数据。
我想出了这个(为清楚起见,删除了错误处理):
哪个发出请求就好了。唯一的问题是它OCSP_sendreq_bio()
似乎不支持通过 HTTP 代理发送 HTTP 请求,这对我来说是一个障碍。该文档对此有以下说法:
这些函数只对响应者执行最小的 HTTP 查询。如果应用程序希望支持更高级的功能,它应该使用替代的更完整的 HTTP 库。
只是它没有说该怎么做,我似乎无法弄清楚。该OCSP_sendreq_bio()
调用将OCSP_REQUEST
结构转换为 ASN.1 结构,但似乎没有任何公共调用允许我这样做(除非我遗漏了什么)。
我会以正确的方式解决这个问题吗?如果没有,我应该怎么做?
linux - 如何解决 ssh:/usr/lib64/libcrypto.so.10:没有可用的版本信息
我正在尝试执行 ssh 并收到以下消息:
CURL 也发生了同样的事情:
大佬们有什么解决办法吗?
ldd ssh 的输出如下:
试图安装旧版本的 openssl 但没有运气。
mongodb - mongod:加载共享库时出错:libssl.so.10 libcrypto.so.10
问题
我下载了mongodb 3.0.7
tar 文件。然后我将 bin 目录添加到我的路径中:
然后当我运行 mongodb 服务器时:
我收到此错误:
我做了什么
我试过这个解决方案。简而言之,我更新了我的 openssl:
进而:
但它说它找不到libssl.so.10
and libcrypto.so.10
。我不知道该怎么办!
c++ - QStrings、libcrypto++ 上的 AES 加密
我有以下代码可以加密和解密消息。
问题是我随机得到:
解密内容时。加密应该完全支持QString
,因为它可能包含一些 Unicode 数据。但即使使用仅包含 [Az][az][0-9] 的基本字符串,它也不起作用
aesKey
大小为 256 。
在 Stack Overflow 上的一些答案之后,有人建议使用HexDecoder
/ HexEncoder
,但它并不能解决我的问题。
c# - 如何修复 RSA_public_decrypt 函数产生的错误
我在Linux下用C开发了一个随机数发送到远程pc,然后远程pc读取数字并使用openssl私钥(使用C# windows应用程序)对其进行加密,然后发送,c程序尝试解密它其 openssl 公钥如下:
c#program 是这样开发的:
问题是我有一个随机行为,有时 C 程序解密没有错误,有时我得到以下错误:
如何解决这个问题?
笔记:
在 Linux 下生成密钥是这样的:
c - OpenSSL d2i_RSA_PUBKEY 导致分段错误
我的 C 程序使用RSA_genarate_key()
函数创建 RSA 公钥和私钥。然后使用 . 将公钥转换为 DER 格式后保存在文件中i2d_RSA_PUBKEY()
。
带有公钥的文件似乎没问题
当我尝试将其读回并将其用于加密时出现问题。这是代码:
运行程序导致Segmentation fault
这是 gdb 所说的:
任何帮助,请。