Allow self-signed certificates for HTTPS

Permasalahan ketika mengkonsum service tidak dapat respon dari service, setelah di cek dikarenakan ssl

Unable to verify the first certificate sehingga service tidak berjalan dengan baik mengatasinya kita perlu penambahkan

'ssl' => [ 'verify_peer' => false, 'allow_self_signed'=> true ]

Jika menggunakan get ContextOptions & Context

seperti berikut :

$contextOptions = array(
    'ssl' => array(
        'verify_peer'       => true,
        'allow_self_signed'=> true
    )
);
$sslContext = stream_context_create($contextOptions);

atau

$context = [ 'http' => [ 'method' => 'GET' ], 'ssl' => [ 'verify_peer' => false, 'allow_self_signed'=> true ] ];
$context = stream_context_create($context);
$resp = file_get_contents('https://site/', false, $context);

Jika menggunakan Curl tambahkan :

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

Atau

CURLOPT_SSL_VERIFYHOST = false
CURLOPT_SSL_VERIFYPEER = false

Sehingga menjadi

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://codeitworld.com/api/data_user',
  CURLOPT_SSL_VERIFYHOST => FALSE,
  CURLOPT_SSL_VERIFYPEER => FALSE,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_HEADER, 1,
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_POST, 1,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_USERPWD => "userbbo:icms@123",
  CURLOPT_POSTFIELDS => $pdt,
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json'
  ),
));

Sekian tutoral kali ini

Sumber :

stackoverflow.com

 

Pos terkait

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.