title: Passing client certificates through Curl request using Guzzle
body: <p>I have the following curl command</p>
  
  <pre><code>sudo curl -E openyes.crt.pem --key openyes.key.pem https://sky.myapitutorial.in:444/app/live/get
  </code></pre>
  
  <p>which works fine. But when I am trying to do from Guzzle, its failing.</p>
  
  <p>I am unable to pass the client certificates in the request. </p>
  
  <p>This is what I tried</p>
  
  <pre><code>$headers = ['Content-Type' =&gt; 'application/json','X-Client-Id' =&gt; config('mykey') , 'X-Client-Secret' =&gt; config('mykey')];
  
          $client = new client();
  
          try {
              $response = $client-&gt;post(
                  $endpoint
                  , 
                  ['json' =&gt; $content, 'headers' =&gt; $headers,['connect_timeout' =&gt; 650]],
                  [
                      'config' =&gt; [
                          'curl' =&gt; [
                              'CURLOPT_SSLKEY' =&gt; base_path().'/openyes.key.pem',
                              'CURLOPT_SSLCERT' =&gt; base_path().'/openyes.crt.pem',
                              'CURLOPT_VERBOSE' =&gt; true
                          ],
                      ]
                  ],
                  ['debug'=&gt;true],
                  ['http_errors' =&gt; false]
              );
  
              dd($response);
  
          }
          catch (GuzzleHttp\Exception\ClientException $e) {
              $response = $e-&gt;getResponse();
              throw $e;
          }
  </code></pre>
  
  <p>I couldn't find any solution in Guzzle documentation.</p>
  
  <p>Any idea why is this not working?</p>
  
  <p>The error I am getting is </p>
  
  <pre><code>cURL error 35: error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure (see http:\/\/curl.haxx.se\/libcurl\/c\/libcurl-errors.html)
  </code></pre>