草庐IT

openssl-arm

全部标签

c++ - 使用 C++/libcurl/openssl 的应用程序安全服务器通信

我正在使用C++(跨平台;Windows、Mac和Linux)开发应用程序,它需要使用https协议(protocol)和libcurl(在Windows/Mac/Linux上使用winssl/darwinssl/openssl构建)与服务器进行安全通信分别)。我更改了curl选项,CURLOPT_SSL_VERIFYPEER来自0至1这应该有助于防止MitM问题。这导致了初始搜索指向关闭该选项的问题,但在深入挖掘之后我发现:GetaCAcertificatethatcanverifytheremoteserverandusetheproperoptiontopointoutthisC

c++ - arm cortex a9 交叉编译奇怪的浮点行为

我正在尝试将一个更大的应用程序从x86移植到armcortexa9,但是当交叉编译应用程序时,我遇到了像modf这样的浮点函数的奇怪段错误,其他libc++函数似乎只是错误地处理float,但是不要不会崩溃(见下文)。所以我尝试了这个小测试程序,它也可以触发错误。测试程序的输出(见下文)应该可以证明我的问题。#includeintmain(intargc,char*argv[]){doublex=80;doubley=0;std::cout在armcortexa9上编译:@tegra$g++-Walltest.cpp-otest_nativ@tegra$./test_nativ800交

c++ - 在 CMake 中静态链接 OpenSSL 加密库

我想静态链接下面列出的库:set_target_properties(execPROPERTIESLINK_SEARCH_START_STATIC1)set_target_properties(execPROPERTIESLINK_SEARCH_END_STATIC1)set(CMAKE_FIND_LIBRARY_SUFFIXES.a${CMAKE_FIND_LIBRARY_SUFFIXES})find_library(SODIUM_LIBlibsodium.aREQUIRED)find_library(SSL_LIBlibssl.aREQUIRED)find_library(CRYP

c++ - 使用 OpenSSL 构建 LibCurl 会导致链接器错误

我已经尝试构建支持SSL的LibCurl2天了,我已经关注了Internet上的所有指南,并且搜索了数小时的错误。我终于让它可以正常编译,但是当我链接到它时,出现下面列出的链接器错误。我正在构建...nmake-fMakefile.vc9OPENSSL_PATH=c:\dev_mms\openSSLRTLIBCFG=staticCFG=release-ssl以下错误,当我用谷歌搜索时,他们说了一些关于OpenSSL库没有正确链接的内容,但我查看了Makefile.vc9,它肯定包含OpenSSL的正确库。这是链接器错误(我删除了大约50个链接器错误只是为了缩短它),我该怎么做才能解决这

c++ - 如何检查 arm-none-linux-gnueabi-g++ 对 C++11 的支持

我正在编写一个可移植应用程序,它使用C++11功能,如std::atomic、std::threads等。如何验证我的ARMGCC交叉编译器工具链是否支持C++11标准?我尝试使用arm-none-linux-gnueabi-g++-v和arm-none-linux-gnueabi-g++--version但在使用-std=c++11时返回错误编辑#arm-linux-gnueabi-g++-std=c++11dum.cppcc1plus:错误:无法识别的命令行选项'-std=c++11'目标:arm-linux-gnueabi海湾合作委员会版本4.6.2

c++ - GCC (ARM) 相当于 __declspec(dllexport)

为x86构建应用程序时,以下代码可以正常工作:#ifdefined_WIN32#defineLIB_PRE__declspec(dllexport)#elifdefined__unix__#defineLIB_PRE#else#defineLIB_PRE__declspec(dllexport)#endif但是对于GCC(ARM)给出了一个错误。我发现__declspec(dllexport)不会在GCC上工作。如果是这样,我应该为GCC(ARM)使用什么?编辑:它在许多类(class)中都有使用。例如:classCJsonValueString:publicCJsonValue{pr

c++ - OpenSSL 证书缺少 key 标识符

我如何将这些部分添加到证书中(我使用C++手动构建它)。X509v3SubjectKeyIdentifier:A4:F7:38:55:8D:35:1E:1D:4D:66:55:54:A5:BE:80:25:4A:F0:68:D0X509v3AuthorityKeyIdentifier:keyid:A4:F7:38:55:8D:35:1E:1D:4D:66:55:54:A5:BE:80:25:4A:F0:68:D0目前我的代码构建证书很好,除了那些键..:/staticX509*GenerateSigningCertificate(EVP_PKEY*pKey){X509*x;x=X509

c++ - 为什么 ARM 使用两条指令来屏蔽一个值?

对于下面的函数...uint16_tswap(constuint16_tvalue){returnvalue>8;}...为什么带有-O2的ARMgcc6.3.0会产生以下程序集?swap(unsignedshort):lsrr3,r0,#8orrr0,r3,r0,lsl#8lslr0,r0,#16#shiftleftlsrr0,r0,#16#shiftrightbxlr编译器似乎使用两次移位来屏蔽不需要的字节,而不是使用逻辑与。编译器能否改为使用andr0,r0,#4294901760? 最佳答案 较旧的ARM程序集无法轻松创建常

c++ - ARM 中 16 位大端到小端的快速转换

我需要将16位整数值的大数组从大端格式转换为小端格式。现在我使用以下函数进行转换:inlinevoidReorder16bit(constuint8_t*src,uint8_t*dst){uint16_tvalue=*(uint16_t*)src;*(uint16_t*)dst=value>>8|value我使用GCC。目标平台是ARMv7(RaspberryPhi2B)。有什么办法可以优化吗?加载音频样本需要这种转换,它可以是小端格式,也可以是大端格式。当然现在不是瓶颈,但是占总处理时间的10%左右。而且我认为对于这样一个简单的操作来说这太过分了。 最佳答

android - arm共享库的复用

我已经构建了armandroid共享库(libtest.so)。我对重用一个函数很感兴趣(它没有太多依赖性——它只是创建类实例并调用两个方法)。我想调用该函数(它需要一个std::string参数)并获得返回值。有可能做这样的事情吗?我没有任何头文件。我试过这个Android.mk,我把libtest.so放在/jni和/libs/armeabi,/lib/armeabi。此时我的cpp文件可以编译,但是现在呢?如果可能,我如何从libtest.so调用函数?我从objdump知道它的名字LOCAL_PATH:=$(callmy-dir)include$(CLEAR_VARS)LOCA