问题标签 [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.
c++ - 使用 openssl libcrypto 使用 RSA 私钥解密数据时使用 RSA_NO_PADDING
我生成了 RSA 私钥和公钥,如下所示,
和加密的文本文件如下,
然后我写了下面的程序来解密加密的文件。但是,解密似乎没有按预期工作。
执行代码时,结果如下,
似乎解密的数据长度不正确且不可打印。
当我注释掉指令“EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_NO_PADDING);”时,它运行良好。
我也尝试使用 RSA_PKCS1_OAEP_PADDING,它也不起作用。如果没有设置 RSA PADDING,它就起作用了。
我的问题如下,
以下命令中使用了哪个填充?
/li>RSA加密/解密是否需要填充?如果是这样,我该如何应用填充机制?
aerospike - 无法在 centos 6.3 上启动 aerospike,没有可用的版本信息(bin/asd 需要)
有没有人遇到过这个问题?
操作系统版本:CentOS 6.3 版(最终版)
Aerospike 版本: 社区版 3.12.1
错误信息:
c - 从命令行测试自定义 openSSL 引擎
快速提问:如何验证我从命令行编写的自定义 openSSL 引擎的功能?
现在我正在关注这个很棒的教程,并且能够使用我的测试程序(源代码在这里,测试程序位于 test/wssha256engine_test.c)成功地运行引擎(它返回一个全为 2 的摘要值)。
但是,由于某些原因,我还想使用 openssl 命令行界面来练习我刚刚编写的引擎,并让它像在其他教程中一样计算随机字符串的摘要,只使用 sha256 而不是 md5。
但是当我尝试这样做时,引擎不会加载并导致错误告诉我我的摘要的 NID 不存在,而是使用标准算法对字符串进行哈希处理:
为什么我不能在命令行上使用我的引擎,但我可以创建一个 C 程序来加载它?以及如何使用我的引擎从命令行计算摘要?
注意:我可以从命令行加载引擎,只是不使用它。
c++ - 为什么我的 OpenSSL/libcrypto 签名不正确?
我需要对一个字符串进行签名,将公钥作为字符串发布,然后在其他地方使用公钥来验证签名的消息。这是消息签名的部分:
这是获取字符串消息和密钥并实际验证签名的代码:
每次我这样做,后一个函数都会告诉我签名无效,isSuccess
变量等于0。这是因为EVP_DigestSignFinal
返回0,表明签名不正确。我哪里错了?
mongodb - 无法启动 mongod:找不到版本“libssl.so.10”
所以我只想在我的 Ubuntu 14.04 机器上运行 mongod,但我不能这样做,因为出现以下消息:
我已经在类似的线程上关注了很多在线解决方案,但我无法做到。在 /lib/x86_64-linux-gnu 文件夹中,我有名称为 libssl.so.10 的符号链接指向 libssl.so.1.0.0 和 libcrypt.so.10 指向 libcrypto.so.1.0.0。
如果你能指出我正确的方向,我将不胜感激,因为我真的坚持这一点。
c - 尝试使用 libcrypto 对参数字符串进行 RSA 解密时出错
我是 libcrypto 库的初学者。我正在尝试将加密字符串提供给函数,对其进行解密并将其解密后返回。该字符串是用我的 4096 位大小的公钥编码的。
以下代码输出:
由于错误未知,我无法在网上找到任何有关它的信息,而且我是 libcrypto 的初学者,是否str
需要采用某种格式?
显然,正是这破坏了程序,但我不能确定,我也不知道如何解决这个问题。
编辑:我一直在与一个客户合作,该客户为我提供了那些编码数据供我解密它们。我不知道它们是如何精确处理的。不幸的是,编码的字符串比私钥本身更敏感,所以我不能分享它。它看起来像0c79cc00deb89a614db6ebe42be748219089fb5356
但有1024 个字符。
c - 使用 EVP 工具使用 RSA 加密密钥解密 AES 加密消息
出于工业目的,我想用 C 中的 RSA 加密密钥解密 AES 加密的消息。起初,我想先使用OpenSSL libcrypto library一步一步地进行,首先 RSA 解码密钥然后 AES解码数据。
我发现 EVP 工具通常被认为是一种更好的方法,因为它实际上做了低级函数所做的但正确的事情。这是我看到的程序流程:
- 初始化 OpenSSL;
- 读取并存储 RSA 私钥;
- 通过指定解密算法(AES)和私钥来初始化解密;
- 通过给出密钥、数据、密钥及其长度来更新解密
- 最后解密数据并返回。
到目前为止,我们不打算使用任何 IV 或 ADD(尽管 IV 可能会在项目的后期出现),这让我感到很困惑。我遵循了这个指南,它不是很清楚,不适合我使用 EVP 的方式。
所以这是我的实际代码:
我的输出如下:
显然它在更新和完成解密时失败了,但我不知道为什么,ERR_print_errors_fp(stderr);
到目前为止一直对我有用的那个似乎是静音的。
debian - 依赖于 libcurl.so、libsqlite3.so、libcrypto.so 和 libpthread.so 的程序的 Debian 控制文件依赖项
我有一个依赖于 libcurl.so、libsqlite3.so、libcrypto.so 和 libpthread.so 的程序
我的查询是, 1. 我想在控制文件中添加 libpthread 依赖项。我的机器(linuxmint-17)有一个名为 libthread.so.10 的文件。但是当我在做 dpkg --get-selections 时,我没有得到任何包含 pthread 的包。这是 linuxmint(17) 的全新安装,我没有手动安装任何软件包。2.我将如何确保这将起作用,让我们说将来是否会出现 libcurl4 或 libcrypto++99。我是按照正确的方法还是我错过了什么。
c++ - Cmake 用 pkg_search_module 找不到“openssl”“libcrypto”
我正在构建一个项目,在 CMakeLists.txt 中有一些 pkg_search_module 语句,包括两个用于 openssl 和 libcrypto 的语句,它们在构建过程中引发错误。
我使用 apt-get 安装了这些软件包,并且我理解如果找不到库的位置,可以给 CMake 提供库的位置,但我不确定如何找到它们。
我在终端上得到这个输出:
我在虚拟机上使用 Ubuntu 16.04。
我很感激你的建议。
linux - OpenSSL 以静态方式链接 libcrypto.a
我有以下makefile,我将以静态方式添加库“libcrypto.a”。我需要这样做,因为目标系统无法安装 openssl 库。
我试图在我的“LDLIBSOPTIONS”中添加几件事,但我没有找到正确的方法,例如:
- “ -lcrypto ”它以动态方式链接库(不适合我的情况)
- " [absolute path]/libcrypto.a " 它返回 "libcrypto.a(dso_dlfcn.o): undefined reference to symbol 'dlclose@@GLIBC_2.2.5' //lib/x86_64-linux-gnu/libdl.so.2:添加符号时出错:命令行中缺少 DSO”。
- " [absolute path]/libcrypto.a -ldl "libcrypto.a(evp_enc.o): relocation R_X86_64_32 against `.rodata.str1.1' 在制作共享对象时不能使用;使用 -fPIC 重新编译
有什么建议吗?