简体   繁体   English

我无法在 cloudfront 中获得签名的 url,出现致命错误,我正在尝试的代码如下

[英]I am not able to get signed url in cloudfront, getting fatal error, code I am trying is below

<?php

require '../aws-autoloader.php';

use Aws\CloudFront\CloudFrontClient;
use Aws\Exception\AwsException;

// Create a CloudFront Client
$client = new Aws\CloudFront\CloudFrontClient([
    'profile' => 'default',
    'version' => 'latest',
    'region' => 'us-east-1',
]);

// Set up parameter values for the resource
$resourceKey = 'https://example.cloudfront.net/b20cbfe5-a8df-47a5-94c4-aeadea20759f/dash/videoplayback.mpd';
$expires = time() + 300;

// Create a signed URL for the resource using the canned policy
$signedUrlCannedPolicy = $client->getSignedUrl([
    'url' => $resourceKey,
    'expires' => $expires,
    'private_key' => 'pk.pem',
    'key_pair_id' => 'keyid'
]);

getting error as得到错误为

Fatal error: Uncaught InvalidArgumentException: error:0906D06C:PEM routines:PEM_read_bio:no start line in C:\\xampp\\htdocs\\aws\\Aws\\CloudFront\\Signer.php:40 Stack trace: #0 C:\\xampp\\htdocs\\aws\\Aws\\CloudFront\\UrlSigner.php(24): Aws\\CloudFront\\Signer->__construct('APKAJYH2L6BGHLW...', 'pk-APKAJYH2L6BG...') #1 C:\\xampp\\htdocs\\aws\\Aws\\CloudFront\\CloudFrontClient.php(138): Aws\\CloudFront\\UrlSigner->__construct('APKAJYH2L6BGHLW...', 'pk-APKAJYH2L6BG...') #2 C:\\xampp\\htdocs\\aws\\app\\stream.php(26): Aws\\CloudFront\\CloudFrontClient->getSignedUrl(Array) #3 {main} thrown in C:\\xampp\\htdocs\\aws\\Aws\\CloudFront\\Signer.php on line 40致命错误:未捕获的 InvalidArgumentException:错误:0906D06C:PEM 例程:PEM_read_bio:C:\\xampp\\htdocs\\aws\\Aws\\CloudFront\\Signer.php:40 中没有起始行 堆栈跟踪:#0 C:\\xampp\\htdocs\\aws \\Aws\\CloudFront\\UrlSigner.php(24): Aws\\CloudFront\\Signer->__construct('APKAJYH2L6BGHLW...', 'pk-APKAJYH2L6BG...') #1 C:\\xampp\\htdocs\\aws\\Aws\\ CloudFront\\CloudFrontClient.php(138): Aws\\CloudFront\\UrlSigner->__construct('APKAJYH2L6BGHLW...', 'pk-APKAJYH2L6BG...') #2 C:\\xampp\\htdocs\\aws\\app\\stream.php (26): Aws\\CloudFront\\CloudFrontClient->getSignedUrl(Array) #3 {main} 在 C:\\xampp\\htdocs\\aws\\Aws\\CloudFront\\Signer.php 第 40 行中抛出

I have resolved this issue.我已经解决了这个问题。 The issue was you need to give absolute path in below like this问题是你需要像这样在下面给出绝对路径

'private_key' => $_SERVER['DOCUMENT_ROOT'] . '/' . 'pk.pem',

Let me know if it's working or not?让我知道它是否有效?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM