talk-lucky/dkms-laravel

The Aliyun dkms sdk for Laravel(Lumen).

v1.1.0 2022-01-12 07:14 UTC

This package is auto-updated.

Last update: 2024-05-12 12:56:23 UTC


README

The Aliyun dkms sdk for Laravel(Lumen).

安装

composer require "talk-lucky/dkms-laravel"

使用

/**
 * @var DkmsClient $kmsClient
 */
$dkmsClient = app("dkms");
$encryptStr = $dkmsClient->encrypt(config("kms.keyId"), "明文");
$decryptStr = $dkmsClient->decrypt(config("kms.keyId"), "密文");
$bool = $dkmsClient->isValidEncryptVal("明文/密文");

配置

.env

.env 中新增相关配置

KMS_ENDPOINT=
KMS_PASSWORD=
KMS_CLIENT_KEY_CONTENT=
KMS_CAINFO_PATH=
KMS_CIPHERTEXT_BLOB=

kms.php

新增 config/dkms.php

<?php

return [
    "keyId" => env("KMS_KEY_ID", ""),

    "default" => "online",

    "drivers" => [
        "online" => [
            "protocol"         => "https",
            "endpoint"         => env("KMS_ENDPOINT", ""),
            "password"         => env("KMS_PASSWORD", ""),
            "clientKeyContent" => env("KMS_CLIENT_KEY_CONTENT", ""),
            "cainfo"           => env("KMS_CAINFO_PATH", ""),
        ],

        "mail" => [
            "protocol"         => "https",
            "endpoint"         => env("KMS_ENDPOINT", ""),
            "password"         => env("KMS_PASSWORD", ""),
            "clientKeyContent" => env("KMS_CLIENT_KEY_CONTENT", ""),
            "cainfo"           => env("KMS_CAINFO_PATH", ""),
            "keyId"            => env("KMS_KEY_ID", ""),
            "ciphertextBlob"   => env("KMS_CIPHERTEXT_BLOB", ""),
        ]
    ],
];

注册DKmsServiceProvider

Laravel

app.php 中,providers 数组最后新增 \Lucky\Dkms\DKmsServiceProvider::class,

Lumen

bootstrap/app.php 中,新增 $app->register(\Lucky\Dkms\DKmsServiceProvider::class);