title: PHP Composer HTTPS error 1416F086. Certificate verifying failed
body: <p>I suddenly get this nasty HTTPS error with PHP Composer and Composer used to work on my machine. There are already topics with the same issue on Github and also stackoverflow. I tried everything what is recommended but nothing works for me. I downloaded a new certificate and put it into <code>/usr/lib/ssl/certs</code></p>
  
  <ul>
  <li><p>updated php</p></li>
  <li><p>updated composer </p></li>
  <li><p>There is no problem with <code>curl</code> to curl a https page.</p></li>
  </ul>
  
  <p><code>php modules</code> :</p>
  
  <pre><code>calendar
  Core
  ctype
  curl
  date
  dom
  exif
  fileinfo
  filter
  ftp
  gd
  gettext
  hash
  iconv
  json
  libxml
  mbstring
  mysqli
  mysqlnd
  openssl
  pcntl
  pcre
  PDO
  pdo_mysql
  Phar
  posix
  readline
  Reflection
  session
  shmop
  SimpleXML
  sockets
  sodium
  SPL
  standard
  sysvmsg
  sysvsem
  sysvshm
  tokenizer
  wddx
  xml
  xmlreader
  xmlwriter
  xsl
  Zend OPcache
  zip
  zlib
  
  [Zend Modules]
  Zend OPcache
  </code></pre>
  
  <p>my system:</p>
  
  <pre><code>Distributor ID: LinuxMint
  Description:    Linux Mint 18.2 Sonya
  Release:    18.2
  Codename:   sonya
  </code></pre>
  
  <p><code>print_r(openssl_get_cert_locations());</code> output:</p>
  
  <pre><code>Array ( [default_cert_file] =&gt; /usr/lib/ssl/cert.pem [default_cert_file_env] =&gt; SSL_CERT_FILE [default_cert_dir] =&gt; /usr/lib/ssl/certs [default_cert_dir_env] =&gt; SSL_CERT_DIR [default_private_dir] =&gt; /usr/lib/ssl/private [default_default_cert_area] =&gt; /usr/lib/ssl [ini_cafile] =&gt; /opt/atom/resources/app.asar.unpacked/node_modules/dugite/git/ssl/cacert.pem [ini_capath] =&gt; ) 
  </code></pre>
  
  <p><code>composer install</code> error message:</p>
  
  <pre><code> [Composer\Downloader\TransportException]
     The "https://repo.packagist.org/packages.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages:
     error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
     Failed to enable crypto
     failed to open stream: operation failed
  </code></pre>
  
  <p>my simple composer.json file </p>
  
  <pre><code>{
    "name": "root/helloworld",
    "require": {
      "doctrine/orm": "~2",
      "zendframework/zendframework": "^3.0"
    },
    "authors": [
      {
        "name": "23232323"
      }
    ]
  } 
  </code></pre>
  
  <p>Composer output terminal <code>composer diagnose</code>:</p>
  
  <pre><code>   composer diagnose
      Checking platform settings: OK
      Checking git settings: OK
      Checking http connectivity to packagist: OK
      Checking https connectivity to packagist: WARNING
      [Composer\Downloader\TransportException] The "https://repo.packagist.org/packages.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages:
      error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
      Failed to enable crypto
      failed to open stream: operation failed
      Checking github.com rate limit: OK
      Checking disk free space: OK
      Checking pubkeys: 
      Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0  87719BA6 8F3BB723 4E5D42D0 84A14642
      Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B  0C708369 153E328C AD90147D AFE50952
      OK
      Checking composer version: OK
      Composer version: 1.7.3
      PHP version: 7.2.12
      PHP binary path: /usr/bin/php7.2
  </code></pre>