aws sdk — шифрование aws-sdk ОШИБКА kmsClient в переполнении стека

Я очень новичок в WAS, я хочу реализовать шифрование на стороне клиента для DynamoDB в php. Я не нашел ни одного документа, который мог бы показать мне, как это сделать. Я пробовал этот урок https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/s3-encryption-client.html, но это для S3 не Dynamodb.

Тогда я попробовал этот урок https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/kms-example-encrypt.html.
введите описание изображения здесь

Он показывает мне, как использовать KmsClient для шифрования данных на стороне клиента.

Я изменяю версию и регион для KmsClient на соответствующие значения, версию, которую я получаю со страницы Ключи шифрования, под ключ политики

"Version": "2012-10-17",

Регион, который я получаю

Region ap-southeast-2

У меня есть файл учетных данных, как показано ниже в .aws / floder

[default]
aws_access_key_id = ***************
aws_secret_access_key = **************

Я также изменил идентификатор ключа на тот, который только что создал.

Но я продолжаю получать эту ошибку

#0 /Users/ditto/Sites/site/php/vendor/aws/aws-sdk-
php/src/ClientResolver.php(427):
Aws\Api\ApiProvider::resolve(Object(Aws\Api\ApiProvider), 'api',
'kms', '2012-10-17')
#1 /Users/ditto/Sites/site/php/vendor/aws/aws-sdk-
php/src/ClientResolver.php(288):
Aws\ClientResolver::_apply_api_provider(Object(Aws\Api\ApiProvider),
Array, Object(Aws\HandlerList))
#2 /Users/ditto/Sites/site/php/vendor/aws/aws-sdk-
php/src/AwsClient.php(158): Aws\ClientResolver->resolve(Array,
Object(Aws\HandlerList))
#3 /Users/ditto/Sites/site/php/signUpCopy.php(22):
Aws\AwsClient->__construct(Array)
#4 {main}
thrown in /Users/ditto/Sites/site/php/vendor/aws/aws-sdk-php/src/Api/ApiProvider.php on line 85

Это мой код:

include ('config.php');

require ('vendor/autoload.php');

use Aws\Kms\KmsClient;
use Aws\Exception\AwsException;

$message = pack('c*',1,2,3,4,5,6,7,8,9,0);

$KmsClient = new Aws\Kms\KmsClient([
'profile' => 'default',
'version' => '2012-10-17',
'region' => 'ap-southeast-2'
]);
$keyId = '***************************';


$message = pack('c*', 1, 2, 3, 4, 5, 6, 7, 8, 9, 0);

try {
$result = $KmsClient->encrypt([
'KeyId' => $keyId,
'Plaintext' => $message,
]);
var_dump($result);
} catch (AwsException $e) {
// output error message if fails
echo $e->getMessage();
echo "\n";
}

Я не знаю, где я сделал это неправильно.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector