Ssl

郵件、openssl、證書的 PHP (7.1) 問題

  • November 21, 2018

php.ini我有:

[openssl]
openssl.cafile= /etc/ssl/cert/mydomaincabundle.crt

當我使用mydomain.ext證書時,此行允許從 PHP es Wordpress或 PHP 應用程序發送來自帶有SMTP的****PHP的電子郵件。

現在我需要使用作曲家,我發現當像作曲家這樣的 PHP 應用程序嘗試下載數據時,這一行會生成 SSL 錯誤。錯誤是:

file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
Failed to enable crypto
failed to open stream: operation failed
   Now trying to download from source

如果我刪除php.ini

[openssl]
openssl.cafile= /etc/ssl/cert/mydomaincabundle.crt

這個問題已解決,但我開始看到所有PHP 郵件都失敗了,因此Wordpress等應用程序無法發送電子郵件

如何讓郵件正常工作並解決 PHP SSL 問題?

如果我刪除帶有通過SMTP SSL發送的證書電子郵件的openssl行將失敗。

Connection: opening to ssl://domain.it:465, timeout=300, options=array ()
Connection: Failed to connect to server. Error number 2. "Error notice: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
Connection: Failed to connect to server. Error number 2. "Error notice: stream_socket_client(): Failed to enable crypto
Connection: Failed to connect to server. Error number 2. "Error notice: stream_socket_client(): unable to connect to ssl://domain.it:465 (Unknown error)
SMTP ERROR: Failed to connect to server: (0)
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

謝謝你。


更新

在 php.ini 中,我指定使用我的域的 cafile。這使得來自 PHP 的電子郵件有效,而且我在載入我的域時也沒有問題。

當我嘗試使用作曲家時遇到問題,因為似乎 PHP 正在使用無法獲得驗證的域證書。

如果我從 PHP 停止工作的 php.ini 電子郵件中刪除 openssl ca.file,但作曲家工作正常。

當我刪除 openssl 行而不是將證書內容添加到我的域證書時,也許我需要找到 PHP 使用的系統證書在哪裡,這應該可以解決問題。

知道在哪裡可以找到此證書嗎?你認為這會解決問題嗎?

https://github.com/composer/composer/issues/7797#issuecomment-440585828

謝謝您的幫助。

解決了https://github.com/composer/composer/issues/7797#issuecomment-440680491

在 centos 中的位置似乎有點不同如何在 centos7 中添加證書頒發機構?

我在 etc/pki/ca-trust/extracted/openssl 上找到了它

引用自:https://serverfault.com/questions/940964