IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 使用php textalk |websocket+ssl实现websocket客户端 -> 正文阅读

[网络协议]使用php textalk |websocket+ssl实现websocket客户端

wss认证模式:单向认证、双向认证

单向认证

客户端校验服务的证书

  • 服务端配置
$server = new \swoole_websocket_server("0.0.0.0", 8001, SWOOLE_PROCESS, SWOOLE_SOCK_TCP | SWOOLE_SSL);
$listener = $server->listen("0.0.0.0", 8002, SWOOLE_SOCK_TCP | SWOOLE_SSL);
$listener->set([
	'ssl_key_file' => __DIR__ . "\\server8002.crt",				// 服务端证书文件
	'ssl_cert_file' => __DIR__ . "\\server8002.key.unsecure",	// 服务端key文件
]);
  • 客户端配置
$url = "wss://127.0.0.1:8002";
$context = stream_context_create([
     "ssl" => [
         "verify_peer" => true,					// 是否需要校验对端证书
         "verify_peer_name" => false,			// 是否校验peer_name,默认为true,如果为true,需要在客户端和服务端同时设置peer_name参数
         "allow_self_signed" => true,			// 使用自签名证书时开启
         "cafile" => __DIR__ . "\\ca8002.crt", 	// ca文件
     ]
 ]);

$client = new Client($url, [
     'context' => $context,
 ]);

双向认证

  • 服务端配置(php swoole)
$server = new \swoole_websocket_server("0.0.0.0", 8001, SWOOLE_PROCESS, SWOOLE_SOCK_TCP | SWOOLE_SSL);
$listener = $server->listen("0.0.0.0", 8002, SWOOLE_SOCK_TCP | SWOOLE_SSL);
$listener->set([
	'ssl_verify_peer' => true,									// 是否需要校验对端证书
	'ssl_allow_self_signed' => true,							// 使用自签名证书时开启
	'ssl_key_file' => __DIR__ . "\\server8002.crt",				// 服务端证书文件
	'ssl_cert_file' => __DIR__ . "\\server8002.key.unsecure",	// 服务端key文件
 	'ssl_client_cert_file'	=> __DIR__ . "\\ca8002.crt", 		// ca文件,
]);
  • 客户端配置(php textalk\websocket)
$url = "wss://127.0.0.1:8000";
$context = stream_context_create([
     "ssl" => [
         "verify_peer" => true,
         "verify_peer_name" => false,						// 是否校验peer_name,默认为true,如果为true,需要在客户端和服务端同时设置peer_name参数
         "allow_self_signed" => true,						// 使用自签名证书时开启
         "cafile" => __DIR__ . "\\ca8002.crt",				// ca文件
         "local_cert" => __DIR__ . "\\client.crt",			// 使用ca文件签发的客户端证书文件
         "local_pk" => __DIR__ . "\\client.key.unsecure",	// 使用ca文件签发的客户端key文件
     ]
 ]);

$client = new Client($url, [
     'context' => $context,
 ]);
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-02-22 20:59:39  更:2022-02-22 21:01:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/5 13:22:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码