HTTPS双向验证,如何设置

lcchongzi

这是Workerman的SSL设置

'ssl' => array(
    'local_cert'  => '/etc/apache2/ssl/2_www.XXXX.cn.crt',
    'local_pk'    => '/etc/apache2/ssl/3_www.XXXXcn.key',
    'verify_peer' => false,
)

这是单向的吗?我需要双向的。我看对方给我的参数很多

SSLEngine on  #开启SSL
SSLCertificateFile "/usr/local/apache2/conf/example.com.crt"            #腾讯给第三方签发的证书
SSLCertificateKeyFile "/usr/local/apache2/conf/example.com.key"         #和证书配对的私钥
SSLCACertificateFile  "/usr/local/apache2/conf/TencentQQAuthCA.crt" #腾讯认证的CA证书
SSLVerifyClient require  #验证请求来源

请问如何像他这样在workerman中做对应的设置

<?php
require_once __DIR__ . '/Autoloader.php';
use Workerman\Worker;

// 证书最好是申请的证书
$context = array(
'ssl' => array(
    'local_cert'  => '/etc/apache2/ssl/2_www.XXXX.cn.crt',
    'local_pk'    => '/etc/apache2/ssl/3_www.XXXXcn.key',
    'verify_peer' => false,
)
);
// 这里设置的是websocket协议,也可以http协议或者其它协议
$worker = new Worker('http://www.XXXXXX.cn:5765', $context);
// 设置transport开启ssl
$worker->transport = 'ssl';
$worker->onMessage = function($con, $msg) {
$con->send('ok');
var_dump($msg);
};

Worker::runAll();
阅读 4475
1个回答

walkor

http://php.net/manual/zh/context.ssl.php
ssl选项都在这里,可以根据自己需要添加。

  • 暂无评论