google / cloud-kms
PHP 云 KMS 客户端
v2.0.0
2024-09-13 22:45 UTC
Requires
- php: ^8.0
- google/gax: ^1.34.0
Requires (Dev)
- google/cloud-core: ^1.52.7
- phpunit/phpunit: ^9.0
Suggests
- ext-grpc: Enables use of gRPC, a universal high-performance RPC framework created by Google.
- ext-protobuf: Provides a significant increase in throughput over the pure PHP protobuf implementation. See https://cloud.google.com/php/grpc for installation instructions.
- dev-main
- v2.0.0
- v2.0.0-RC1
- v1.23.0
- v1.22.1
- v1.22.0
- v1.21.4
- v1.21.3
- v1.21.2
- v1.21.1
- v1.21.0
- v1.20.3
- v1.20.2
- v1.20.1
- v1.20.0
- v1.19.0
- v1.18.1
- v1.18.0
- v1.17.0
- v1.16.4
- v1.16.3
- v1.16.2
- v1.16.1
- v1.16.0
- v1.15.3
- v1.15.2
- v1.15.1
- v1.15.0
- v1.14.0
- v1.13.4
- v1.13.3
- v1.13.2
- v1.13.1
- v1.13.0
- v1.12.3
- v1.12.2
- v1.12.1
- v1.12.0
- v1.11.4
- v1.11.3
- v1.11.2
- v1.11.1
- v1.11.0
- v1.10.2
- v1.10.1
- v1.10.0
- v1.9.3
- v1.9.2
- v1.9.1
- v1.9.0
- v1.8.0
- v1.7.0
- v1.6.0
- v1.5.0
- v1.4.0
- v1.3.5
- v1.3.4
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.0
- v1.1.1
- v1.1.0
- v1.0.0
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.0
- v0.2.3
- v0.2.2
- v0.2.1
- v0.2.0
- v0.1.1
- v0.1.0
This package is auto-updated.
Last update: 2024-09-13 22:49:33 UTC
README
为云 KMS提供惯用 PHP 客户端。
注意: 此存储库是Google Cloud PHP项目的一部分。有关支持请求、错误报告或开发贡献,请将该项目指向该项目。
安装
首先,安装 PHP 首选的依赖管理器 Composer。
现在安装此组件
$ composer require google/cloud-kms
此组件支持 HTTP/1.1 上的 REST 和 gRPC。为了利用 gRPC(例如流方法)提供的优势,请参阅我们的gRPC 安装指南。
身份验证
有关客户端身份验证的更多信息,请参阅我们的身份验证指南。身份验证后,您即可开始发送请求。
示例
require __DIR__ . '/vendor/autoload.php'; use Google\ApiCore\ApiException; use Google\Cloud\Kms\V1\CryptoKey; use Google\Cloud\Kms\V1\CryptoKey\CryptoKeyPurpose; use Google\Cloud\Kms\V1\KeyManagementServiceClient; use Google\Cloud\Kms\V1\KeyRing; $client = new KeyManagementServiceClient(); $projectId = 'example-project'; $location = 'global'; // Create a keyring $keyRingId = 'example-keyring'; $locationName = $client::locationName($projectId, $location); $keyRingName = $client::keyRingName($projectId, $location, $keyRingId); try { $keyRing = $client->getKeyRing($keyRingName); } catch (ApiException $e) { if ($e->getStatus() === 'NOT_FOUND') { $keyRing = new KeyRing(); $keyRing->setName($keyRingName); $client->createKeyRing($locationName, $keyRingId, $keyRing); } } // Create a cryptokey $keyId = 'example-key'; $keyName = $client::cryptoKeyName($projectId, $location, $keyRingId, $keyId); try { $cryptoKey = $client->getCryptoKey($keyName); } catch (ApiException $e) { if ($e->getStatus() === 'NOT_FOUND') { $cryptoKey = new CryptoKey(); $cryptoKey->setPurpose(CryptoKeyPurpose::ENCRYPT_DECRYPT); $cryptoKey = $client->createCryptoKey($keyRingName, $keyId, $cryptoKey); } } // Encrypt and decrypt $secret = 'My secret text'; $response = $client->encrypt($keyName, $secret); $cipherText = $response->getCiphertext(); $response = $client->decrypt($keyName, $cipherText); $plainText = $response->getPlaintext(); assert($secret === $plainText);
版本
此组件被认为是 GA(通用可用)。因此,它不会在任何次要或修补版本中引入不兼容的后向兼容更改。我们将优先处理问题和请求。
下一步
- 了解官方文档。