MySQL 密钥环支持不同类型(加密算法)和长度的密钥:
-
可用的密钥类型取决于安装的密钥环插件。
-
允许的密钥长度受到多个因素的限制:
-
通用密钥环可加载函数接口限制(对于使用一个密钥函数管理的密钥),或来自后端实现的限制。这些长度限制可以根据密钥操作类型而异。
-
除了通用限制外,个别密钥环插件可能会对密钥长度施加限制。
-
表 8.34,“通用密钥环密钥长度限制” 显示了通用密钥长度限制。(对于 keyring_aws
,下限是由 AWS KMS 接口施加的,而不是密钥环函数。)对于密钥环插件,表 8.35,“密钥环插件密钥类型和长度” 显示了每个密钥环插件允许的密钥类型,以及任何插件特定的密钥长度限制。对于大多数密钥环组件,通用密钥长度限制适用,并且没有密钥类型限制。
component_keyring_oci
(类似于 keyring_oci
插件)只能生成类型为 AES
的密钥,大小为 16、24 或 32 字节。
表 8.34 通用密钥环密钥长度限制
Key Operation | Maximum Key Length |
---|---|
生成密钥 |
16,384 字节(之前为 2,048);1,024 对于 |
存储密钥 |
16,384 字节(之前为 2,048);4,096 对于 |
获取密钥 |
16,384 字节(之前为 2,048);4,096 对于 |
表 8.35 密钥环插件密钥类型和长度
Plugin Name | Permitted Key Type | Plugin-Specific Length Restrictions |
---|---|---|
keyring_aws |
|
16, 24, 或 32 字节 无 |
keyring_encrypted_file |
|
无 无 无 无 |
keyring_file |
|
无 无 无 无 |
keyring_hashicorp |
|
无 无 无 无 |
keyring_oci |
|
16, 24, 或 32 字节 |
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');