草庐IT

enable-ssl

全部标签

c++ - SSL握手成功后如何获取peer的QSslCertificate

当使用Qt进行HTTPS请求时,我尝试在SSL握手后获取对等方的证书,以便跟踪证书中的future更改。QNetworkAccessManagernam;nam.get(QNetworkRequest(QUrl("https://google.com/")));//exampleURLQObject::connect(&nam,&QNetworkAccessManager::encrypted,[](QNetworkReply*reply){qDebug()sslConfiguration().peerCertificate();});根据documentationofQNetwork

c++ - 为什么 SFINAE 需要 'Enable' 类模板参数?

(本题与C++11/C++14无关:示例使用C++03编译)enable_bool有成员(member)::type仅当T是booltemplatestructenable_bool{};templatestructenable_bool{typedefbooltype;};在下一个片段中,部分特化是正确的(参见gcc.godbolt.org)templatestructFoo{staticintbar(){return0;}};templatestructFoo::type>{staticintbar(){return1;}};intmain(){returnFoo::bar();}

带有 std::enable_if 的 C++ 可变参数模板部分模板特化

ITNOA我的问题是如何在可变参数模板部分模板特化场景中使用std::enable_if?例如,我有一个类使用如下所示的可变参数模板部分特化/***Commoncase.*/templatestructfoo;/***Finalsuperclassforfoo.*/templatestructfoo{voidfunc(){}};/***Regularfooclass.*/templatestructfoo:publicfoo{typedefsuperfoo;voidfunc(){coutsuper::templatefunc();}}它工作正常,但如果H是整数类型,我想要特定的部分特化

c++ - 简单的客户端/服务器,TCP/IP 加密消息流,SSL (C++)

基本上我的问题与这个完全相同:Simpleclient/server,TCP/IPencryptingthemessagestream,SSL不同之处在于我需要它用于纯C++,而不是.NET。我不能使用第3方库,所以除非它是一个Windows系统组件(如上),否则我需要一些带有源代码的东西,这样我就可以得到一般的想法并自己构建它。谢谢:)引用另一个问题供引用:"WritingalittleTCP/IPclientserverapp.Basicallyitcreatesaserver,andthenyoucancreateseveraldifferentclientsandsetupab

Java中的SSL兼容1.4

我搜索了许多帖子,但找不到答案。有什么可能我可以在Java1.4中使用SNI。我检查了Java7中的API是否可用,但是在Java1.4中使用SNI是否有能力解决?看答案JSSE(JAVA安全套接字扩展名)是定义用于在Java中实现SSL的API。所有的词组javax.net和javax.net.ssl是此标准的一部分。服务器名称指示(SNI)是一个扩展名,应由特定的JSSE实现实现。SunJava1.4中包含的Sunjsse版本不支持SNI,因此您需要注册另一个SUPORTSSNI的JSSE提供商。在这里,您有不同的JSSE提供商(实施者)的列表:https://wiki.apache.or

c++ - 警告 : auto-importing has been activated without --enable-auto-import specified on the command line

我的环境:QtCreator2.3.1Qt4.7.4(32位)Windows7旗舰版(64位)尝试在QtforWindows中重建项目时,我遇到以下编译器警告:warning:auto-importinghasbeenactivatedwithout--enable-auto-importspecifiedonthecommandline.Thisshouldworkunlessitinvolvesconstantdatastructuresreferencingsymbolsfromauto-importedDLLs.发出此警告的项目包含一个DLL文件。尽管有警告,DLL中的类和函数

c++ - boost::asio::ssl::context 可以在多个 SSL 流之间共享吗?

在互联网上搜索了几个小时,我找不到问题的答案。我的模型是这样的:我有一个共享的boost::asio::ssl::context用于创建boost::asio::ssl::stream的实例。然后将流对象传递给不同的线程。这个模型线程安全吗?可以使用相同的boost::asio::ssl::context构建将同时使用的不同SSL流对象吗?请,在将此问题标记为重复之前,请考虑仔细阅读说明。谢谢!在我的具体情况下,线程之间不共享任何对象。所以在Boost.AsioSSLthreadsafety中说了什么线程安全不影响我的情况。我从单个线程访问boost::asio::ssl::conte

git clone失败无错误信息或报penSSL/3.1.1: error:0A000152:SSL routines::unsafe legacy renegotiation disabled

问题出现前景:新笔记本win11系统安装gitclone无任何反应也没有报错信息,尝试各种方式无果,在升级最新版本git拉代码时会报gitclone报OpenSSL/3.1.1:error:0A000152:SSLroutines::unsafelegacyrenegotiationdisabled,也是尝试各种方式无果,解决方法:怀疑是win11系统兼容git的问题,尝试着换了git最稳定版本Git-2.30.2-64-bit:后竟解决折磨我两天的兼容问题。使用win11安装git亲测不能用太旧或最新版本的包,已将这个版本的git安装包上传我的资源,希望可以帮助出现相同问题的人。Git-2.

C++ - 通过 enable_if_t 推导参数包(可变参数模板)构造函数和复制构造函数

更新:谢谢你,大露营。这是最后的structA.structA{template>A(Args&&...args){cout,A>::value>>A(Arg&&arg){cout来源:关于这段代码,#include#include#includeusingnamespacestd;structA{template>,A>::value>>A(Args&&...args){cout输出是vvvvm在VC++14.0中。但是为什么输出不是vvccm?(我希望candd使用复制构造函数。而且我知道EffectiveModernC++Item27只使用一个转发引用。)

c++ - 使用 std::enable_if 作为函数参数与模板参数有什么区别?

我想知道使用std::enable_if有什么区别?作为函数参数还是模板参数?我有以下两个函数模板:#includetemplatevoidf_function(T,typenamestd::enable_if_t::value,int>=0){}template::value>>voidf_template(T){}intmain(){intx=1;f_function(x);f_template(x);}产生以下程序集(从https://godbolt.org/g/ON4Rya开始):main:pushq%rbpmovq%rsp,%rbpsubq$16,%rspmovl$1,-4(