![](/img/trans.png)
[英]PHP CURL “NSS: client certificate not found (nickname not specified)” Issue
[英]Curl failed: NSS: client certificate not found (nickname not specified) - On Centos 7
我知道之前有人問過這個問題,但我認為我的情況有點不同:
當我嘗試在 PHP 中使用 curl 時,我在嘗試與蘋果推送通知服務交互時收到以下錯誤 ( https://api.push.device.apple.device )。
Curl failed: NSS: client certificate not found (nickname not specified)
這是因為在 centos 上,php 是用使用 NSS 的 curl 構建的,而不是 ZEE302FD5FD2A7A5A3CC19F。
到目前為止我嘗試了什么:
所以我的下一個方法是解決這個 NSS 問題,但事實證明 NSS 是一個非常糟糕的軟件,因為只是簡單地重命名導入的lets-ecnrypt 證書不起作用.. ..
有人可以解釋一下我該如何解決這個問題嗎? 我已經嘗試將 let encrypt 證書導入存儲在 /etc/pki/nssdb 中的 NSS 數據庫中,這很有效 - 但不幸的是,即使我在 CURLOPT_SSLCERT => 'nickname' 中提供了它的昵稱,PHP 也無法識別該證書。
也許這是因為它的昵稱中有特殊字符,我無法更改,因為 NSS 無法重命名(lol)。
當我直接嘗試使用 php 提供證書時
CURLOPT_SSLCERT => $certFile,
CURLOPT_SSLKEY => $keyFile,
CURLOPT_CAINFO => $caCertFile
我得到:
Curl failed: Peer's Certificate issuer is not recognized.
我還關閉了對等驗證
CURLOPT_SSL_VERIFYPEER => FALSE
結束於
Curl failed: security library failure
有沒有人可以教我如何修復它或如何在 centos 上構建 php 並使用 Z509358D4B20326 構建 curl?
BR,
最后我得到了這個工作,這就是我所做的:
#! /bin/bash
export LD_PRELOAD=/home/mylibs/libcurl.so.4
exec php-cgi-real "$@"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.