15.10にアップグレードした後、PHPスクリプト(PHP5-fpm)からCURLを使用してSSLセキュアサーバーにアクセスしようとすると、エラー35 '...への接続で不明なSSLプロトコルエラーが発生します。アップグレード前はすべて正常に機能していました。これを修正する方法はありますか?
apt-cache policy curl
curl:
Installed: 7.43.0-1ubuntu2
Candidate: 7.43.0-1ubuntu2
Version table:
*** 7.43.0-1ubuntu2 0
500 http://ua.archive.ubuntu.com/ubuntu/ wily/main AMD64 Packages
100 /var/lib/dpkg/status
https://w3s.webmoney.ru:44 へのアクセス
サーバー https://w3s.webmoney.ru:44 は信頼できません。
% curl https://w3s.webmoney.ru:443
curl: (60) server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). If the default
bundle file isn't adequate, you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.
走る
curl --insecure https://w3s.webmoney.ru:443
そしてそれは動作します。
man curl
から
-k, --insecure
(SSL) This option explicitly allows curl to perform "insecure" SSL
connections and transfers. All SSL connections are attempted to be
made secure by using the CA certificate bundle installed by
default. This makes all connections considered "insecure" fail unless
-k, --insecure is used.
trusted証明書を追加
証明書へのパスを追加します
/etc/ca-certificates.conf
/usr/share/ca-certificates
からの相対パスを使用します
Sudo update-ca-certificates
を実行します
詳細な手順については、 man update-ca-certificates
を参照してください
コメントから取られた:
参考までに、同じサイトではSSLv3とSSLv2が有効になっています。それは悪いことであり、まったく信頼できません