web-dev-qa-db-ja.com

不明なSSLプロトコルエラー

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 へのアクセス

2
Rual Ilmarranen

サーバー 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証明書を追加

  1. 証明書へのパスを追加します

    /etc/ca-certificates.conf
    

    /usr/share/ca-certificatesからの相対パスを使用します

  2. Sudo update-ca-certificatesを実行します

詳細な手順については、 man update-ca-certificates を参照してください


コメントから取られた:

参考までに、同じサイトではSSLv3とSSLv2が有効になっています。それは悪いことであり、まったく信頼できません

0
A.B.