MySQL 密钥环支持不同类型(加密算法)和长度的密钥。
可用的密钥类型取决于安装了哪个密钥环插件。
允许的密钥长度取决于多个因素:
通用密钥环可加载函数接口限制(对于使用第 8.4.4.12 节“通用密钥环密钥管理函数”中所述的密钥环函数之一管理的密钥),或后端实现的限制。这些长度限制可能因密钥操作类型而异。
除了通用限制之外,各个密钥环插件可能会对每种密钥类型的密钥长度施加限制。
表 8.31“通用密钥环密钥长度限制”显示了通用密钥长度限制。(keyring_aws
的下限由 AWS KMS 接口施加,而不是由密钥环函数施加。)对于密钥环插件,表 8.32“密钥环插件密钥类型和长度”显示了每个密钥环插件允许的密钥类型,以及任何特定于插件的密钥长度限制。对于大多数密钥环组件,通用密钥长度限制适用,并且没有密钥类型限制。
component_keyring_oci
只能生成类型为 AES
且大小为 16、24 或 32 字节的密钥。
表 8.31 通用密钥环密钥长度限制
密钥操作 | 最大密钥长度 |
---|---|
生成密钥 | 16,384 字节(以前为 2,048); |
存储密钥 | 16,384 字节(以前为 2,048); |
获取密钥 | 16,384 字节(以前为 2,048); |
表 8.32 密钥环插件密钥类型和长度
插件名称 | 允许的密钥类型 | 特定于插件的长度限制 |
---|---|---|
keyring_aws |
|
16、24 或 32 字节 无 |
keyring_hashicorp |
|
无 无 无 无 |
keyring_okv |
|
16、24 或 32 字节 无 |
SECRET
密钥类型旨在使用 MySQL 密钥环对敏感数据进行通用存储,并且受大多数密钥环组件和密钥环插件的支持。密钥环在存储和检索时将 SECRET
数据作为字节流进行加密和解密。
涉及 SECRET
密钥类型的示例密钥环操作
SELECT keyring_key_generate('MySecret1', 'SECRET', 20);
SELECT keyring_key_remove('MySecret1');
SELECT keyring_key_store('MySecret2', 'SECRET', 'MySecretData');
SELECT keyring_key_fetch('MySecret2');
SELECT keyring_key_length_fetch('MySecret2');
SELECT keyring_key_type_fetch('MySecret2');
SELECT keyring_key_remove('MySecret2');