MySQL 密钥环支持不同类型(加密算法)和长度的密钥。
可用的密钥类型取决于安装了哪个密钥环插件。
允许的密钥长度取决于多个因素:
通用密钥环可加载函数接口限制(对于使用 第 8.4.4.12 节“通用密钥环密钥管理函数” 中描述的密钥环函数之一管理的密钥),或后端实现的限制。这些长度限制可能因密钥操作类型而异。
除了常规限制之外,各个密钥环插件可能会对每种密钥类型的密钥长度施加限制。
表 8.32“通用密钥环密钥长度限制” 显示了常规密钥长度限制。(keyring_aws
的下限由 AWS KMS 接口强加,而不是密钥环函数强加的。)对于密钥环插件,表 8.33“密钥环插件密钥类型和长度” 显示了每个密钥环插件允许的密钥类型,以及任何特定于插件的密钥长度限制。对于大多数密钥环组件,适用常规密钥长度限制,并且没有密钥类型限制。
component_keyring_oci
只能生成类型为 AES
且大小为 16、24 或 32 字节的密钥。
表 8.32 通用密钥环密钥长度限制
密钥操作 | 最大密钥长度 |
---|---|
生成密钥 | 16,384 字节(以前为 2,048); |
存储密钥 | 16,384 字节(以前为 2,048); |
获取密钥 | 16,384 字节(以前为 2,048); |
表 8.33 密钥环插件密钥类型和长度
插件名称 | 允许的密钥类型 | 特定于插件的长度限制 |
---|---|---|
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');