草庐IT

openssl_sign

全部标签

C++/OpenSSL : Use root CA from buffer rather than file (SSL_CTX_load_verify_locations)

我正在使用OpenSSL来验证服务器的证书。由于OpenSSL没有任何内置的根CA,因此我们必须自己与我们的软件一起分发根CA证书(我们静态链接OpenSSL)。通常,这样做的方法是分发PEM格式的证书文件并调用SSL_CTX_load_verify_locations。但是,此函数采用文件/目录路径并直接从文件系统读取根证书文件。我们真的希望能够将证书硬编码到我们的二进制文件中,而不是将其保存到文件系统中。换句话说,我们真的希望有一个像SSL_CTX_load_verify_locations这样的函数,它接受X509*而不是文件路径。这样的东西存在吗?还是有一种简单的方法可以自己破

C++/OpenSSL : Use root CA from buffer rather than file (SSL_CTX_load_verify_locations)

我正在使用OpenSSL来验证服务器的证书。由于OpenSSL没有任何内置的根CA,因此我们必须自己与我们的软件一起分发根CA证书(我们静态链接OpenSSL)。通常,这样做的方法是分发PEM格式的证书文件并调用SSL_CTX_load_verify_locations。但是,此函数采用文件/目录路径并直接从文件系统读取根证书文件。我们真的希望能够将证书硬编码到我们的二进制文件中,而不是将其保存到文件系统中。换句话说,我们真的希望有一个像SSL_CTX_load_verify_locations这样的函数,它接受X509*而不是文件路径。这样的东西存在吗?还是有一种简单的方法可以自己破

c++ - 视觉 C++ 2010 : Why "signed/unsigned mismatch" disappears if i add "const" to one comparand?

我有以下简单的C++代码:#include"stdafx.h"intmain(){inta=-10;unsignedintb=10;//Trivialerrorisplacedhereonpurposetotriggerawarning.if(a使用VisualStudio2010(默认C++控制台应用程序)编译,它给出warningC4018:'如预期的那样(代码有逻辑错误)。但如果我改变unsignedintb=10;进入constunsignedintb=10;警告消失!这种行为有什么已知的原因吗?gcc无论const如何,都会显示警告.更新我可以从评论中看到很多人建议“它只是以

c++ - 视觉 C++ 2010 : Why "signed/unsigned mismatch" disappears if i add "const" to one comparand?

我有以下简单的C++代码:#include"stdafx.h"intmain(){inta=-10;unsignedintb=10;//Trivialerrorisplacedhereonpurposetotriggerawarning.if(a使用VisualStudio2010(默认C++控制台应用程序)编译,它给出warningC4018:'如预期的那样(代码有逻辑错误)。但如果我改变unsignedintb=10;进入constunsignedintb=10;警告消失!这种行为有什么已知的原因吗?gcc无论const如何,都会显示警告.更新我可以从评论中看到很多人建议“它只是以

c++ - 使用 Boost.Asio 和 OpenSSL 的 HTTPS 请求

我正在尝试读取https://mtgox.com/api/0/data/ticker.php处的股票代码来self的C++应用程序。我使用Boost.Asio和OpenSSL,因为该服务需要HTTPS。boost版本:1.47.0OpenSSL:1.0.0d[2011年2月8日]Win32对于应用程序;我以http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/example/ssl/client.cpp中的示例为例开始并修改如下:这是我要连接的地方:boost::asio::ip::tcp::resolver::queryqu

c++ - 使用 Boost.Asio 和 OpenSSL 的 HTTPS 请求

我正在尝试读取https://mtgox.com/api/0/data/ticker.php处的股票代码来self的C++应用程序。我使用Boost.Asio和OpenSSL,因为该服务需要HTTPS。boost版本:1.47.0OpenSSL:1.0.0d[2011年2月8日]Win32对于应用程序;我以http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/example/ssl/client.cpp中的示例为例开始并修改如下:这是我要连接的地方:boost::asio::ip::tcp::resolver::queryqu

c++ - 内存: "signed char *" vs "unsigned char *"的字节读取

人们经常需要一次从内存中读取一个字节,就像在这个幼稚的memcpy()中一样实现:void*memcpy(void*dest,constvoid*src,size_tn){char*from=(char*)src;char*to=(char*)dest;while(n--)*to++=*from++;returndest;}但是,我有时会看到人们明确使用unsignedchar*而不仅仅是char*.当然,char和unsignedchar可能不相等。但是我是否使用char*有区别吗?,signedchar*,或unsignedchar*什么时候按字节读/写内存?更新:实际上,我完全知

c++ - 内存: "signed char *" vs "unsigned char *"的字节读取

人们经常需要一次从内存中读取一个字节,就像在这个幼稚的memcpy()中一样实现:void*memcpy(void*dest,constvoid*src,size_tn){char*from=(char*)src;char*to=(char*)dest;while(n--)*to++=*from++;returndest;}但是,我有时会看到人们明确使用unsignedchar*而不仅仅是char*.当然,char和unsignedchar可能不相等。但是我是否使用char*有区别吗?,signedchar*,或unsignedchar*什么时候按字节读/写内存?更新:实际上,我完全知

c++ - 如何确定 openssl 库的版本?

我有一个预构建的OpenSSL库(libssl.a和libcrypto.a),用于我的C++应用程序。我不知道OpenSSL库的版本。有没有办法从这些预建库中获取版本号? 最佳答案 库中有一个包含版本详细信息的字符串,称为SSLEAY_VERSION-它看起来像:OpenSSL0.9.5a2000年4月1日OpenSSL1.0.1e-fips2013年2月11日您可以使用字符串和grep从二进制库中找到它:stringslibcrypto.so|grep"^OpenSSL\S\+[0-9]\+\S\+[0-9]\+"

c++ - 如何确定 openssl 库的版本?

我有一个预构建的OpenSSL库(libssl.a和libcrypto.a),用于我的C++应用程序。我不知道OpenSSL库的版本。有没有办法从这些预建库中获取版本号? 最佳答案 库中有一个包含版本详细信息的字符串,称为SSLEAY_VERSION-它看起来像:OpenSSL0.9.5a2000年4月1日OpenSSL1.0.1e-fips2013年2月11日您可以使用字符串和grep从二进制库中找到它:stringslibcrypto.so|grep"^OpenSSL\S\+[0-9]\+\S\+[0-9]\+"