问题标签 [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.

0 投票
1 回答
2196 浏览

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.dllssleay32.dll不是libcrypto.dlland libssl.dll,我没有和 编译器正在寻找的。我还检查了我的C:\Windows\System32文件夹中是否包含所有三个 dll。我正在使用 MinGW-w64 编译器,没有 MSYS,版本 4.9.2。

为了在 Win64 上编译支持 SSL 的 cUrl 库,我需要做什么?我是否需要修改我的编译命令、某些文件,或者我是否下载了错误版本的 OpenSSL?任何帮助都非常感谢。

0 投票
2 回答
12967 浏览

c - 使用 openssl 库获取 x509 证书哈希

我目前正在开发一个应用程序,它使用 openssl 库(libcrypto)来生成证书。现在我必须得到一个已经存在的证书的哈希值。

当我使用终端时,我可以通过使用生成哈希值

输出:01da0e2b

这是我的代码,我尝试使用 C 中的库生成我的哈希值。

输出:1817886a

但实际上我的输出是不同的。有人知道我在做什么错吗?

0 投票
1 回答
378 浏览

c++ - 静态链接 libcurl 到项目(仍然需要 DLL)

我正在使用带有 C/C++ 插件的 Netbeans IDE。

我的代码编译没有任何问题。 CURL_STATICLIB已定义(-DCURL_STATICLIB也已尝试#define CURL_STATICLIB)。

链接库

这是我所有的链接库。

我试图避免使用多个 DLL 打包 exe,所以我试图静态链接它。

即使在链接之后我仍然得到依赖错误。(libcurl.dll libeay32.dll)

0 投票
1 回答
1881 浏览

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 的良好替代方案?

0 投票
1 回答
728 浏览

c - 带有 libcrypto 和 libcurl 的 OCSP

我正在编写一个需要验证证书有效性的应用程序。为此,我想使用 OCSP。我没有自己实现 OCSP,而是查看 OpenSSLlibcrypto以准备必要的数据。

我想出了这个(为清楚起见,删除了错误处理):

哪个发出请求就好了。唯一的问题是它OCSP_sendreq_bio()似乎不支持通过 HTTP 代理发送 HTTP 请求,这对我来说是一个障碍。该文档对此有以下说法:

这些函数只对响应者执行最小的 HTTP 查询。如果应用程序希望支持更高级的功能,它应该使用替代的更完整的 HTTP 库。

只是它没有说该怎么做,我似乎无法弄清楚。该OCSP_sendreq_bio()调用将OCSP_REQUEST结构转换为 ASN.1 结构,但似乎没有任何公共调用允许我这样做(除非我遗漏了什么)。

我会以正确的方式解决这个问题吗?如果没有,我应该怎么做?

0 投票
2 回答
20248 浏览

linux - 如何解决 ssh:/usr/lib64/libcrypto.so.10:没有可用的版本信息

我正在尝试执行 ssh 并收到以下消息:

CURL 也发生了同样的事情:

大佬们有什么解决办法吗?

ldd ssh 的输出如下:

试图安装旧版本的 openssl 但没有运气。

0 投票
7 回答
34197 浏览

mongodb - mongod:加载共享库时出错:libssl.so.10 libcrypto.so.10

问题

我下载了mongodb 3.0.7tar 文件。然后我将 bin 目录添加到我的路径中:

然后当我运行 mongodb 服务器时:

我收到此错误:

我做了什么

我试过这个解决方案。简而言之,我更新了我的 openssl:

进而:

但它说它找不到libssl.so.10and libcrypto.so.10。我不知道该怎么办!

0 投票
1 回答
386 浏览

c++ - QStrings、libcrypto++ 上的 AES 加密

我有以下代码可以加密和解密消息。

问题是我随机得到:

解密内容时。加密应该完全支持QString,因为它可能包含一些 Unicode 数据。但即使使用仅包含 [Az][az][0-9] 的基本字符串,它也不起作用

aesKey大小为 256 。

在 Stack Overflow 上的一些答案之后,有人建议使用HexDecoder/ HexEncoder,但它并不能解决我的问题。

0 投票
0 回答
703 浏览

c# - 如何修复 RSA_public_decrypt 函数产生的错误

我在Linux下用C开发了一个随机数发送到远程pc,然后远程pc读取数字并使用openssl私钥(使用C# windows应用程序)对其进行加密,然后发送,c程序尝试解密它其 openssl 公钥如下:

c#program 是这样开发的:

问题是我有一个随机行为,有时 C 程序解密没有错误,有时我得到以下错误:

如何解决这个问题?

笔记:

在 Linux 下生成密钥是这样的:

0 投票
1 回答
428 浏览

c - OpenSSL d2i_RSA_PUBKEY 导致分段错误

我的 C 程序使用RSA_genarate_key()函数创建 RSA 公钥和私钥。然后使用 . 将公钥转换为 DER 格式后保存在文件中i2d_RSA_PUBKEY()

带有公钥的文件似乎没问题

当我尝试将其读回并将其用于加密时出现问题。这是代码:

运行程序导致Segmentation fault

这是 gdb 所说的:

任何帮助,请。