在server.xml中增加下面的内容:

  1. ciphers="SSL_RSA_WITH_RC4_128_SHA"

下面是libcurl 的测试代码:

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <curl/curl.h>
  5. static size_t save_response_callback(void *buffer,size_t size,size_t count,void **response)
  6. {
  7. char * ptr = NULL;
  8. printf("buffer is %s\n",(char *)buffer);
  9. ptr =(char *) malloc(count*size + 4);
  10. memcpy(ptr,buffer,count*size);
  11. *response = ptr;
  12. return count;
  13. }
  14. int main(int argc,char *argv[])
  15. {
  16. CURL * curl;
  17. CURLcode res;
  18. char * response = NULL;
  19. if(argc !=2){
  20. printf("Usage:file<url>;\n");
  21. return;
  22. }
  23. //curl_global_init(CURL_GLOBAL_DEFAULT);
  24. curl = curl_easy_init();
  25. if(curl!=NULL){
  26. printf("Usage:file<%s>;\n",argv[1]);
  27. curl_easy_setopt(curl,CURLOPT_URL,argv[1]);
  28. curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,&save_response_callback);
  29. curl_easy_setopt(curl,CURLOPT_WRITEDATA,&response);
  30. curl_easy_setopt(curl,CURLOPT_COOKIESESSION,1L);
  31. curl_easy_setopt(curl,CURLOPT_COOKIEFILE,"/dev/null");
  32. curl_easy_setopt(curl,CURLOPT_SSL_VERIFYPEER,1);
  33. //curl_easy_setopt(curl,CURLOPT_CAPATH,"/etc/ssl/cert/");
  34. curl_easy_setopt(curl,CURLOPT_CAINFO,"ca-cert.pem");
  35. curl_easy_setopt(curl,CURLOPT_SSL_VERIFYHOST,1);
  36. curl_easy_setopt(curl,CURLOPT_VERBOSE,1L);
  37. curl_easy_setopt(curl,CURLOPT_TIMEOUT,30);
  38. #if 0
  39. /* 双向验证下面是客户端的CA*/
  40. //  curl_easy_setopt(curl,CURLOPT_CAPATH,"./");
  41. curl_easy_setopt(curl,CURLOPT_SSLCERT,"client-cert.pem");
  42. curl_easy_setopt(curl,CURLOPT_SSLCERTPASSWD,"password");
  43. curl_easy_setopt(curl,CURLOPT_SSLCERTTYPE,"PEM");
  44. curl_easy_setopt(curl,CURLOPT_SSLKEY,"client-key.pem");
  45. curl_easy_setopt(curl,CURLOPT_SSLKEYPASSWD,"password");
  46. curl_easy_setopt(curl,CURLOPT_SSLKEYTYPE,"PEM");
  47. #endif
  48. res = curl_easy_perform(curl);
  49. if(res != CURLE_OK){
  50. printf("curl_wasy_perform error = %s",curl_easy_strerror(res));
  51. }
  52. printf("response<%s>\n",response);
  53. curl_easy_cleanup(curl);
  54. }
  55. }

参考资料:

SSL证书制作:http://blog.chinaunix.net/uid-7591044-id-1742977.html 

libcurl使用认证证书 https认证的更多相关文章

  1. Https、OpenSSL自建CA证书及签发证书、nginx单向认证、双向认证及使用Java访问

    0.环境 本文的相关源码位于 https://github.com/dreamingodd/CA-generation-demo 必须安装nginx,必须安装openssl,(用apt-get upd ...

  2. 探究公钥、私钥、对称加密、非对称加密、hash加密、数字签名、数字证书、CA认证、https它们究竟是什么,它们分别解决了通信过程的哪些问题。

    一.准备 1. 角色:小白.美美.小黑. 2. 剧情:小白和美美在谈恋爱:小黑对美美求而不得.心生怨念,所以从中作梗. 3. 需求:小白要与美美需通过网络进行通信,联络感情,所以必须保证通信的安全性. ...

  3. java https单向认证(忽略认证)并支持http基本认证

    https单向认证(忽略认证)并支持http基本认证, 温馨提示 1,jar包要导入对 2,有匿名类编译要注意 3,欢迎提问,拿走不谢!背景知识 Https访问的相关知识中,主要分为单向验证和双向验证 ...

  4. AFNetworking之于https认证

    写在开头: 本来这篇内容准备写在AFNetworking到底做了什么?(三)中的,但是因为我想在三中完结这个系列,碍于篇幅所限.并且这一块内容独立性比较强,所以单独拎出来,写成一篇. 本文从源码的角度 ...

  5. AFNetworking 之于 https 认证

    写在开头: 本来这篇内容准备写在AFNetworking到底做了什么?(三)中的,但是因为我想在三中完结这个系列,碍于篇幅所限.并且这一块内容独立性比较强,所以单独拎出来,写成一篇. 本文从源码的角度 ...

  6. 【转】AFNetworking之于https认证

    转自:http://www.cocoachina.com/ios/20161220/18393.html 写在开头: 本来这篇内容准备写在AFNetworking到底做了什么?(三)中的,但是因为我想 ...

  7. Linux下Apache https认证

    参考:http://kyfxbl.iteye.com/blog/1910891 http://showerlee.blog.51cto.com/2047005/1266712 一.环境 httpd:A ...

  8. https认证

    HTTPS认证 说明 1. HTTPS协议的站点信息更加安全,同时可降低网站被劫持的风险,如网站同时存在HTTP和HTTPS站点,可使用本工具进行认证,便于百度搜索识别网站HTTP与HTTPS之间的对 ...

  9. Harbor配置https认证

    Harbor配置https认证由于Harbor不附带任何证书,它默认使用HTTP来提供注册表请求.但是,强烈建议为任何生产环境启用安全性.因为测试使用,使用自签名证书: 1.创建CA证书 首先创建个目 ...

随机推荐

  1. [翻译]纠正PostCSS的4大认识误区

    市面上已经有很多的前端工具,再来引入新的前端工具,价值大不大?这主要取决于,它是否给开发人员提供了新的功能,是否值得花时间和精力去学习和使用? PostCSS出现时有一个很有趣的现象.像sass和le ...

  2. 【前端】Vue.js实现简单价格计算器

    价格计算器 实现效果: 实现代码及注释: <!DOCTYPE html> <html> <head> <title>价格计算器</title> ...

  3. HTML代码转义(JAVA)

    String org.apache.commons.lang.StringEscapeUtils.escapeHtml(String str)     测试 System.out.println(St ...

  4. db2快照

    一.获取快照日志 #1.查看数据库编目 db2 list db directory #2.attach 到要分析的数据库 db2 attach to pm1_9 user db2dev #3.conn ...

  5. sa learning

    后缀数组之前一直在给队友搞,但是这个类太大了,预感到青岛八成会有,于是自己也学习一下,记录一下做题的历程 所用的模板暂时来自于队友的倍增nlogn da算法 int t1[maxn] , t2[max ...

  6. Python基础笔记系列十一:标准输入输出、文件读写和指针等操作

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 标准输入输出一.输入 在sublime中这个时候需要安装SublimeRE ...

  7. 基于cornerstone.js的cornerstoneWADOImageLoader

    上一篇简单介绍了cornerstone.js的相关使用介绍和基于cornerstone的web库cornerstoneWADOImageLoader,在实际开发中遇到了相关的一些问题,在这里说明一下, ...

  8. 分享几道Java线程面试题

    不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题.Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎.大多数待遇丰厚的Java开发职位都要求开发者精通多线程 ...

  9. php redis 秒杀demo

    $redis = new Redis(); $redis->connect("127.0.0.1", "6379"); $redis->select ...

  10. 由angular命令行工具(angular-cli)生成的目录和文件

    e2e目录:是端到端的测试目录,包含基本的测试桩.是用来做自动测试的. src:应用源代码目录.我们写的所有代码都应该在这里面. app:包括应用的组件和模块.我们自己写的绝大部分代码都是写在这个目录 ...