问题标签 [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 循环 ASN.1 序列
给定一个序列对象,如何遍历其中的对象?我试过ASN1_TYPE_unpack_sequence
但不知道如何解释它返回的对象。
这是一个玩具示例,包含空八位字节字符串的序列的 DER 编码。
有趣的是{48, 0}
编码一个空序列并{4, 0}
编码一个空八位字节字符串。因此,似乎如果我只能解析序列的标头以了解标头本身有多长以及有多少“有效负载”,我可以跳过标头并继续逐个解析对象,直到有效负载用尽,不需要额外的上下文。尽管这对于 DER 的工作方式可能是一种危险的幼稚观点。
openssl - VS 2017 未解析的外部符号 __imp__stricmp (libcrypto_static.lib)
我正在静态链接 OpenSSL 库(在 Windows 上),但我有大约 30 个链接器错误,类似于这个:
libcrypto_static.lib(o_names.obj) : error LNK2001: unresolved external symbol __imp__stricmp
按照建议,我使用了以下指令:
pragma comment(lib, "crypt32")
pragma comment(lib, "ws2_32.lib")
还有链接器设置:
Ignore Specific Default Libraries: libcmt.lib; msvcrt.lib;msvcrtd.lib
如果我从上面删除 msvcrtd.lib,我可以编译。但这是不正确的,因为 msvcrtd.lib 用于动态链接,我想静态链接。编译器应该会在 libcmtd.lib(调试版本)中找到缺失的定义。编译使用 /MT 标志来使用静态链接。
我错过了什么?在我看来,OpenSSL 静态加密库仍然需要 MS 运行时动态 DLL。
macos - 在 mac 中找不到包“libcrypto”
我有一个关于 openssl lib 的问题。我正在运行 cmake 命令,我看到了这个错误:没有找到包 'libcrypto'。你能帮忙吗?
这是我的 openssl 列表:
openssl - Openssl C API 在 32 位中签名消息并在 64 位 Openssl 中验证签名
我已经编译了openssl 1.0.2 with FIPS 2.0.16
对象模块。我将使用它使用私钥对某些文件进行签名,并使用公钥验证签名。我将使用EVP_*
算法。
使用私钥对文件进行签名将在 Web 界面中进行,然后将文件和签名放入某个设备中,通过使用公钥验证签名来验证文件的完整性。
- 现在我的问题是 Web 界面将有一个
64 BIT libcrypto.a
,并且验证签名的设备可能有32/64 BIT libcrypto.a
,所以为两者生成的签名64/32 bit
会相同吗? - 我可以使用
64 BIT libcrypto.a
签名和验证签名32 BIT libcrypto.a
吗?
c++ - 如何卸载旧版本的 libcrypro 库
我正在尝试将统一自动化 c++ OPCUA 堆栈链接到我的项目,但我收到了警告:
libcrypto.so.1.1, needed by libuastackd.so, may conflict with libcrypto.so.1.0.0
其次是错误:
:-1: error: libuapkicppd.a(uapkicertificate.cpp.o): undefined reference to symbol 'OPENSSL_sk_num@@OPENSSL_1_1_0'
在命令提示符下,共享库上的 ldconfig 返回:
我可以安全地删除libssl.so.1.0.0 (libc6,x86-64)
andlibcrypto.so.1.0.0
吗?
c - PEM_read_RSAPublicKey() 在主应用程序代码中崩溃,但在示例代码中运行良好。我该如何解决这个问题?
我正在为 Visual Studio 6 中的 Win32 Dynamic_link 库编写 ac/c++ 代码。实际上我正在使用 libcryptoMD.lib 使用 pem 文件和 ppk 文件实现 RSA 加密。我可以在示例代码中执行此加密,但 PEM_read_RSAPublicKey() 在实际应用程序代码中崩溃。
我已经尝试将实际应用程序代码的所有项目设置设置为示例项目,因为实际应用程序代码的依赖库中可能存在一些冲突。但令我惊讶的是,示例项目成功运行,而实际应用却失败了。我还搜索了为什么这个函数可能在实际应用程序代码中崩溃,但找不到任何有用的答案。这个函数需要公钥pem文件的文件指针和RSA指针,这绝对没问题。
PEM_read_RSAPublicKey(fp, &rsa, NULL, NULL);
崩溃显示
OPENSSL_Uplink(6F8D1880,08):实际应用代码中没有OPENSSL_Applink。
python - Python 在 MacOS 10.15 Beta (19A582a) 上使用“/usr/lib/libcrypto.dylib”崩溃
我用新的 macOS Catalina 运行了我的 Django 项目并且运行良好。
我安装了 oh_my_zsh 然后我尝试运行相同的项目,它因以下错误而崩溃。我卸载了 oh_my_zsh 并再次尝试,但没有成功。
clang - Xcode 11 ld 错误“您的二进制文件不是 /usr/lib/libcrypto.dylib 的允许客户端”
我的项目使用 CMake 构建,但在 Mac 上构建时使用本地 macOS 版本的 clang 和 ld。
在 macOS 10.15 Catalina 上升级到 Xcode 11 后,我无法链接到以下错误:ld: cannot link directly with dylib/framework, your binary is not an allowed client of /usr/lib/libcrypto.dylib for architecture x86_64
.
这与新应用公证有关吗?是否有不需要项目在 Xcode 中的修复(我使用 CLion 在 macOS 上开发)或不需要链接我自己的 OpenSSL 构建?
任何帮助表示赞赏。
android - 在 Android 上找不到符号“EVP_cast5_cbc”
我最近使用OpenSSL作为加密后端为 Android构建了 libssh2 ,我还使用 NDK 自己构建了 libcrypto.so 和 libssl.so。在我的构建过程中,我生成了一个与 libssh2.a 链接的最终 libcustom.so。
谷歌表示:“如果您尝试使用自己的 OpenSSL 副本但忘记将其与应用的 APK 捆绑在一起,则该应用可能会在包含 libcrypto.so 的 Android 平台版本上正常运行。但是,该应用可能会在更高版本的 Android 上崩溃不包含此库的(例如,Android 6.0 及更高版本)。” 这就是我将 libcrypto.so、libssl.so 和 libcustom.so 打包到我的 APK 中的原因。
运行加载 libcustom.so 的 Android 应用程序时,我的应用程序崩溃并出现以下错误: 失败:dlopen 失败:无法找到“libcustom.so”引用的符号“EVP_cast5_cbc”... ONLY ON ANDROID 5。它适用于 Android 6 及更高版本。
符号EVP_cast5_cbc未定义,但在 libssh2.a 中被引用,但在 libcrypto.so 中定义良好。
我不明白为什么它可以在 Android 6 及更高版本而不是 Android 5 上正确运行。
我认为在 Android 5 上,使用的 libcrypto.so 不是我嵌入 APK 的那个,而是来自 /system/lib 的那个;所以我尝试重命名 libcrypto.so 并使用重命名的 libcrypto 构建 libssh2.a,但我面临同样的问题。
有人有想法吗?
提前致谢。
openssl - 无法在 centOs 中降级 openssl-libs
我正在尝试使用“sudo yum install nginx”安装 nginx,导致出现以下错误:
为了解决这个问题,我遵循了以下一系列命令:
输出:
然后我尝试降级“openssl”,然后出现以下错误:
当我尝试下载 lybcrypto.so.10 时出现以下错误。
请建议我如何解决这个问题。我已经坚持了很长时间。谢谢!!