当前位置: 首页 > news >正文

乐清网站的建设珠海网站建设网络公司

乐清网站的建设,珠海网站建设网络公司,站长工具seo综合查询问题,wordpress点击文章跳转外站双向认证: 1.服务器回验证客户端上报的证书 2.客户端回验证服务器的证书 而证书一般分为:1.受信任的根证书,2不受信任的根证书。 但是由于各种限制不想在libcurl中增加openssl,那么使用默认的winssl也可以完成以上两种证书的双…

双向认证:

1.服务器回验证客户端上报的证书

2.客户端回验证服务器的证书

而证书一般分为:1.受信任的根证书,2不受信任的根证书。

但是由于各种限制不想在libcurl中增加openssl,那么使用默认的winssl也可以完成以上两种证书的双向认证,以下是亲测代码:

static int http_write(char* data, size_t size, size_t nmemb, std::string* writerData)
{unsigned long sizes = size * nmemb;if (writerData == NULL)return-1;writerData->append(data, sizes);return sizes;
}int main_curl(void)
{CURL* curl;CURLcode res = CURLE_OK;const char* pPassphrase = NULL;    //password for private keystatic const char* pCACertFile = "C:\\ca.crt"; //CA root certificatstatic const char* pCertFile = "C:\\client.p12"; //client certificatestatic const char* pKeyName = "C:\\client.key";        // private.keystatic const char* pHeaderFile = "dumpit";const char* pKeyType;const char* pEngine;pKeyType = "PEM";pEngine = NULL;std::string sRes;char* url = "https://xxx.com";curl = curl_easy_init();if (curl) {curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);/* what call to write: */curl_easy_setopt(curl, CURLOPT_URL, url);do { /* dummy loop, just to break out from */if (pEngine) {/* use crypto engine */if (curl_easy_setopt(curl, CURLOPT_SSLENGINE, pEngine) != CURLE_OK) {/* load the crypto engine */fprintf(stderr, "can't set crypto engine\n");break;}if (curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, 1L) != CURLE_OK) {/* set the crypto engine as default *//* only needed for the first time you load*              a engine in a curl object... */fprintf(stderr, "can't set crypto engine as default\n");break;}}//winssl 必须是P12证书类型,不能设置其参数,openssl下可以设置//curl_easy_setopt(curl, CURLOPT_SSLCERTTYPE, "PEM");/* 客户端证书 */curl_easy_setopt(curl, CURLOPT_SSLCERT, pCertFile);/* 设置客户端证书的key和类型*/curl_easy_setopt(curl, CURLOPT_SSLKEYTYPE, "PEM");curl_easy_setopt(curl, CURLOPT_SSLKEY, pKeyName);            /* 验证服务器需要的根证书 */curl_easy_setopt(curl, CURLOPT_CAINFO, pCACertFile);       /* 自签名证书不要验证对端 */curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 2L);curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, http_write);curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sRes);/* Perform the request, res will get the return code */res = curl_easy_perform(curl);/* Check for errors */if (res != CURLE_OK)fprintf(stderr, "curl_easy_perform() failed: %s\n",curl_easy_strerror(res));} while (0);/* always cleanup */curl_easy_cleanup(curl);}std::cout<<"RESPONSE HTML:" << sRes;return (res == CURLE_OK);
}

以上的代码如果根证书是受信任的,设置

curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 1L);

自签证书设置:

curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);

即可完成winssl的双向认证;

http://www.yayakq.cn/news/149566/

相关文章:

  • 福州百度做网站多少钱网络推广大概需要多少钱
  • 英文网站正在建设页面新版wordpress谷歌字体
  • 如何推广软件seo搜索引擎优化人才
  • 有关大学生做兼职的网站有哪些庐山市建设规划局网站
  • 企业网站管理系统演示平台可以看那种东西的浏览器
  • 建设一个百度百科类网站网站建设题目
  • 垂直型电商网站如何做成都设计公司排行建筑设计公司
  • 广州建站快车云南网站备案查询
  • 上海网站建设哪家技术好上海兴业建设有限公司网站
  • 网站建设加网络营销软件设计师考什么
  • 创网网站后台管理系统全网营销型网站建设公司
  • 做个网站需要什么温岭市住房和城乡建设规划局网站
  • 网站icp备案查询主流的网站开发语言
  • 服装设计参考网站嘉兴电子商务网站建设
  • 单位网站建设制作网站建设 客户拜访
  • 农村网站建设调查报告canva在线平面设计官网
  • 免费海报制作网站网店推广方法和技巧
  • 广东官网网站建设哪家好一个简单的网站怎么做
  • 昆明网站建设介绍为什么网站开发要用架构
  • asp.net 网站后台管理系统制作网站转化率分析工具
  • 过期网站.网站建设需要公司
  • 网站怎么做漂亮点百度收录网站入口
  • 烟台开发区网站制作公司主流开发工具有哪些
  • 哈尔滨建设局网站seo快排优化
  • 做外贸的都有那些网站专业建站公司主要做什么
  • 大连网站优化步骤乾县住房和城乡建设局网站
  • html5做静态网站长沙建网站公司
  • 云主机做网站网站软文推广好处
  • 珠海网站制作价格wordpress 发文章api
  • 在线免费解答网站怎么建深圳网络推广案例