8.4.4.10 支持的密钥环密钥类型和长度
MySQL Keyring 支持不同类型(加密算法)和长度的密钥:
-
可用的密钥类型取决于安装了哪个密钥环插件。
-
允许的密钥长度受多种因素影响:
-
通用密钥环可加载函数界限(使用密钥环函数之一,如第8.4.4.12节,“通用密钥环密钥管理函数”中描述的),或来自后端实现的界限。这些长度限制可能因密钥操作类型而异。
-
此外,个别密钥环插件可能对密钥长度根据密钥类型施加限制。
-
表8.32,“通用密钥环密钥长度限制”显示了通用密钥长度限制。(keyring_aws
的下限是由AWS KMS接口施加的,而不是密钥环函数。)对于密钥环插件,表8.33,“密钥环插件密钥类型和长度”显示了每个密钥环插件允许的密钥类型,以及插件特定的密钥长度限制。对于大多数密钥环组件,通用密钥长度限制适用,没有密钥类型限制。
component_oci
可以生成大小为16、24或32字节的AES
密钥。
表8.32 通用密钥环密钥长度限制
Key Operation | Maximum Key Length |
---|---|
生成密钥 |
16,384 bytes (2,048 previously); 1,024 for |
Store key |
16,384 bytes (2,048 previously); 4,096 for |
Fetch key |
16,384 bytes (2,048 previously); 4,096 for |
表8.33:密钥类型和长度
Plugin Name | Permitted Key Type | Plugin-Specific Length Restrictions |
---|---|---|
keyring_aws |
|
16, 24, or 32 bytes None |
keyring_hashicorp |
|
None None None None |
keyring_okv |
|
16, 24 或 32 字节 无 |
SECRET密钥类型旨在使用 MySQL 密钥ring 对一般用途的敏感数据进行存储,并且大多数密钥组件和密钥插件支持该类型。密钥ring 在存储和检索时对 SECRET 数据进行加密和解密,以便以字节流形式存储和检索。
涉及 SECRET 密钥类型的示例密钥ring 操作:
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');