国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

求弄過國密SSL的大佬給小弟指導一下

azafek

我們是有個服務器需要連接外部的服務器,
之前證書是標準的SSL證書,現(xiàn)在他們換成了 國密的SSL(BABASSL)

給了三個證書文件,一個ca.crt 一個 client.crt 一個 client.key
我看client.key里放的是
-----BEGIN EC PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-CBC,D68967FCB465313F
xxxxxx
-----END EC PRIVATE KEY-----

目前問題就是我吧ca.crt和client.crt和client.key 放進一個PEM里,連接不上提示我
stream_socket_enable_crypto(): Unable to set local cert chain file

我的連接方式是
$context_option = [
'ssl' => [
'local_cert' => $this->sslcert, //就是我上面說的pem證書
'passphrase' => '',
'allow_self_signed' => true,
'verify_peer' => false,
'verify_peer_name' => false,
]
];
}
//實例化連接
$conn = new AsyncTcpConnection('ssl:xxxxxxxxx:1234', $context_option);

請教懂行的怎么才能連的上,需要PHP本身裝什么拓展嗎?
@walkor 求大佬解惑

1219 2 0
2個回答

testmoon

我也碰到類似問題,請問你解決了么?

  • 暫無評論
何烈山

根據(jù)您提供的信息,可能有以下問題導致連接失敗:

PEM證書格式不正確:PEM文件應該包含完整的證書鏈和私鑰。您可以將ca.crt和client.crt合并為一個PEM文件,將client.key放在另一個PEM文件中。確保在合并過程中不會損壞證書數(shù)據(jù)或格式。您可以使用以下命令將它們合并為單個PEM文件:

cat client.crt ca.crt > client.pem

OpenSSL擴展未啟用:您需要確保PHP安裝了OpenSSL擴展,并在php.ini文件中啟用了它。您可以在終端上運行以下命令來檢查OpenSSL擴展是否已安裝:

php -m | grep openssl

如果沒有輸出,則表示OpenSSL擴展未啟用。您需要編輯php.ini文件并取消注釋以下行:
extension=openssl
SSL連接配置錯誤:您需要確保連接配置正確,包括服務器地址、端口號和SSL選項。如果服務器使用的是自簽名證書,則需要將'allow_self_signed'選項設置為true,并將'verify_peer'和'verify_peer_name'選項設置為false。如果您不確定這些選項的含義,請查看PHP文檔以獲取更多信息。

您可以嘗試進行以下操作來解決連接問題:

1.合并證書文件為PEM文件,并確保證書鏈和私鑰的格式正確。

  1. 檢查PHP是否安裝了OpenSSL擴展,并在php.ini文件中啟用了它。
  2. 重新檢查SSL連接配置,確保所有選項都正確設置。

如果您仍然無法解決問題,請?zhí)峁└嘣敿毿畔ⅲ珏e誤消息或日志文件。

  • 暫無評論
年代過于久遠,無法發(fā)表回答
??