因为之前没有接触到https双向认证,所以有点陌生。

因为ssl证书和私钥都是对接方提供的,我的理解如下:

ssl证书携带了客户端的公钥,

对方服务器使用客户端的私钥验证,再用服务端的公钥加密返回

客户端再用设置的私钥解密形成通道,双方在通道中发收数据。

之前看别人文章时,完整流程还涉及了对称加密,这里先记下这次遇到的问题吧,如果有错误,欢迎指正。

php的curl代码如下:~~~~

$sslcert = 'ssl证书.pem';$sslkey = 'ssl证书私钥指定文件';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, '地址');

curl_setopt($ch, CURLOPT_PORT, 443);

curl_setopt($ch, CURLOPT_HEADER, ['Content-Type: application/xml']);

// 客户端ssl证书

curl_setopt($ch, CURLOPT_SSLCERT, $sslcert);

curl_setopt($ch, CURLOPT_SSLCERTPASSWD, '密码');

curl_setopt($ch, CURLOPT_SSLCERTTYPE, 'PEM');

// 私钥

curl_setopt($ch, CURLOPT_SSLKEY, $sslkey);

curl_setopt($ch, CURLOPT_SSLKEYPASSWD, '密码');

curl_setopt($ch, CURLOPT_SSLKEYTYPE, 'PEM');

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, '发送的数据');

//验证对方的证书

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);

//以字符串形式输出

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

php curl 加载证书,php curl请求时,设置客户端证书及私钥相关推荐

  1. Swift - 表格图片加载优化(拖动表格时不加载,停止时只加载当前页图片)

    列表的单元格中包含有图片在开发中很常见.通常我们可以直接在tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIn ...

  2. mysql 远程load data,PyMySQL将(文件)数据加载到远程MySQL实例时发生错误/异常

    我正在使用PyMySQL-0.5.0并在将数据从文件加载到远程MySQL实例时遇到了一个模糊的错误/异常.在执行"loaddatalocalinfile-"语句时,我看到一个异常, ...

  3. vs2010 设计视图中控件无法加载,提示未将对象设置到对象的实例。

    vs2010 设计视图中控件无法加载,提示未将对象设置到对象的实例 的 解决方法   解决方案: 卸载掉你机器的所有silverlight插件,然后重启 !   搞定   如果想使用silverlig ...

  4. vue+axios请求时设置request header请求头(带上token)

    vue+axios请求时设置请求头(带上token) 1.在vue中,向后台发送请求,不管是get或post,url要带上userId,headers要带上token值(本地存储的token,wind ...

  5. ajax技术发送跨域请求时设置携带cookie信息

    在使用ajax技术发送跨域请求时,默认情况下不会在请求中携带cookie信息,如s1网站的客户端向s1服务器端发送数据请求时设置 xhr.withCredentials = true 默认为false ...

  6. Fail to load response data :No content available for preflight request 加载响应数据失败:请求没有可用内容

    前端请求成功 后端的gorm迁移到数据库 迁移不进去 经过分析 是数据库表结构的问题 数据表我不是自己用sql语句写的 是通过go的gorm映射迁移进去的 因为在另一个表中他有同样的表记录 自动生成后 ...

  7. image加载图片 ui unity_【Unity游戏客户端框架搭建】四、资源管理之理论篇

    先抛出个问题: 我们在谈论资源管理的时候,是在讨论什么? 整理了一下内容,大概就以下几点: 目录规划 内存管理 包体大小控制 AB打包粒度 一.目录规划 在开始资源管理之前,先讲一下目录规划. 实际的 ...

  8. 1.CDC绘图。包括加载图片,消去图片,设置图片一部分透明,不闪烁方式。

    CDC类简介:(摘抄自鸡啄米博客) CDC类是一个设备上下文类. CDC类提供了用来处理显示器或打印机等设备上下文的成员函数,还有处理与窗口客户区关联的显示上下文的成员函数.使用CDC的成员函数可以进 ...

  9. DotNetBar 中 SuperGridControl 加载数据、获取数据、设置样式

    1.加载数据 构建列 //加载列GridColumn gd = new GridColumn();gd.Name = "第1";gd.HeaderText = "第1&q ...

  10. Android中WebView加载sdcard中的html时提示:ERR_FILE_NOT_FOUND和ERR_ACCESS_DENIED

    场景 Android中WebView加载sdcard中的html显示: Android中WebView加载sdcard中的html显示_BADAO_LIUMANG_QIZHI的博客-CSDN博客 在实 ...

最新文章

  1. iOS 7 新版微信 URL 不支持跳转 App Store 的解决方案
  2. Win7系统下hosts文件修改后无法保存
  3. 带你看android的内心世界
  4. springBoot JunitTest的使用以及如何在junit启动前加载
  5. 【做题记录】[NOIP2016 普及组] 魔法阵
  6. jquery 与其他库冲突解决方案
  7. 教你开发jQuery插件(转)
  8. Android 常用设计模式——观察者模式,单例模式,Builder模式,原型模式,命令模式
  9. Kafka幂等性与事务
  10. c++的set_unexpected不起作用
  11. 《嵌入式系统原理与应用》 | 嵌入式系统 重点知识梳理
  12. 正态分布基本概念及公式
  13. android短信uri,Android开发,URI 如:发短信,发彩信,调用通讯录等
  14. 最简单的springboot整合websocket方式
  15. 利用Http实现屏幕监控
  16. C++--名字空间的定义
  17. 利用excel计算方差分析多重比较中q值表和SSR表
  18. Vscode_00_安装Vscode和搭建C/C++开发环境
  19. CSS水平垂直居中的几种实现方式
  20. leetcode:908. 最小差值 I(数学)

热门文章

  1. 耶鲁大学计算机科学录取,重磅!!!耶鲁大学计算机科学录取+1!
  2. 【跳棋】跳棋游戏-多人游戏-微信小程序开发流程详解
  3. 高德地图 JS Web 添加自定义图标,自定义窗口标记
  4. 离职前一定要找好下家吗?
  5. App适配iOS 11
  6. 想赚大钱,最快的方法就是--自己当老板
  7. 浅谈android应用之开发环境
  8. csr8670--button按键的实现
  9. 基于NRF51822实现触摸按键方案
  10. 【Latex】如何在表格中使用footnote