AWS SSL security error : [curl] 60: SSL certificate prob...: unable to get local issuer certificate AWS SSL security error : [curl] 60: SSL certificate prob...: unable to get local issuer certificate curl curl

AWS SSL security error : [curl] 60: SSL certificate prob...: unable to get local issuer certificate


As mentioned by Jeremy Lindblom in the comments, the solution for AWS SDK v2 is to set the ssl.certificate_authority option when instantiating the SDK:

$aws = Aws\Common\Aws::factory(array(    'region' => 'us-west-2',    'ssl.certificate_authority' => '/path/to/updated/cacert.pem'));

http://docs.aws.amazon.com/aws-sdk-php/guide/latest/faq.html#what-do-i-do-about-a-curl-ssl-certificate-error


I'll add that this was changed in the AWS SDK v3, here is the new method:

$client = new DynamoDbClient([    'region'  => 'us-west-2',    'version' => 'latest',    'http'    => [        'verify' => '/path/to/my/cert.pem'    ]]);

http://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/configuration.html#verify


For those using WampServer, open the php.ini file then scroll down to the bottom and add the following:

curl.cainfo = "C:\wamp\bin\php\php7.2.3\cacert.pem"

Make sure you have the cacert.pem file in the folder of the current php version you are using. In my case, I have it in the php7.2.3 folder.


I was getting the same error If you want to use http then you can use below solution:

 Error executing "PutObject" on "https://s3-ap-southeast-2.amazonaws.com/mybucketname/TestBanner1_e1d8d74e41"; AWS HTTP error: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

I have resolved it by using http method this is not secure to use secure way enter _ curl.cainfo = "/path/to/file.cacert.pem"_ in php.ini file :

Solution:

'options' => ['scheme' => 'http',],

Complete Example code:

 // ...'s3bucket' => ['class' => \frostealth\yii2\aws\s3\Storage::className(),'region' => 'ap-southeast-2','credentials' => [ // Aws\Credentials\CredentialsInterface|array|callable'key' => 'JGUTEHCDE.............OSHS','secret' => 'SJEUC-----------jzy1-----rrT',],'bucket' => 'yours3bucket',//'cdnHostname' => 'http://example.cloudfront.net','defaultAcl' => \frostealth\yii2\aws\s3\Storage::ACL_PUBLIC_READ,'debug' => false, // bool|array'options' => ['scheme' => 'http',],],// ...