日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php ca 校验,PHP和SSL CA验证 – 操作系统独立

發布時間:2025/3/21 php 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php ca 校验,PHP和SSL CA验证 – 操作系统独立 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這是一個簡單的PHP腳本,它打開一個準備發送HTTP請求的SSL套接字:

$contextOptions = array();

$socketUrl = 'ssl://google.com:443';

$streamContext = stream_context_create($contextOptions);

$socket = stream_socket_client($socketUrl, $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $streamContext);

if (!$socket || $errno !== 0) {

var_dump($socket, $errstr);

exit;

}

var_dump($socket);

exit('Socket created.');

這工作 – 我剛剛測試了它 – 但是沒有針對可信CA存儲的驗證.

$contextOptions = array(

'ssl' => array(

'cafile' => 'C:\xampp\cacerts.pem',

'CN_match' => '*.google.com', // CN_match will only be checked if 'verify_peer' is set to TRUE. See https://bugs.php.net/bug.php?id=47030.

'verify_peer' => TRUE,

)

);

$socketUrl = 'ssl://google.com:443';

$streamContext = stream_context_create($contextOptions);

$socket = stream_socket_client($socketUrl, $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $streamContext);

if (!$socket || $errno !== 0) {

var_dump($socket, $errstr);

exit;

}

var_dump($socket);

exit('Socket created.');

只要’cafile’存在且具有正確的CA,那么這個例子也有效……

…但是如果不對CA文件名/文件路徑進行硬編碼,我們怎么能這樣做呢?我們正在嘗試創建一些可獨立于OS驗證SSL證書的內容,而無需為運行此腳本的每個服務器單獨配置.

我知道Linux有一個CA目錄,我們可以把它作為’capath’. Windows怎么樣?它在哪里存儲其可信任的CA?我搜索過,遺憾的是這些似乎都在注冊表中,所以我們無法從PHP訪問它們嗎?其他操作系統怎么樣?

總結

以上是生活随笔為你收集整理的php ca 校验,PHP和SSL CA验证 – 操作系统独立的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。