Documentation Home

6.4.4.13 支持的密钥环密钥类型和长度

MySQL Keyring 支持不同类型(加密算法)和长度的密钥:

  • 可用的密钥类型取决于安装的密钥环插件。

  • 允许的密钥长度受多种因素影响:

    • 一般密钥环可加载函数接口限制(对于使用 第 6.4.4.15 节“通用密钥环密钥管理函数”中描述的密钥环函数之一管理的密钥),或来自后端实现的限制。这些长度限制可能因键操作类型而异。

    • 除了一般限制外,个别密钥环插件可能会对每种密钥类型的密钥长度施加限制。

表 6.32,“通用密钥环密钥长度限制”显示了通用密钥长度限制。(下限 keyring_aws由 AWS KMS 接口而非密钥环函数强加。)对于密钥环插件, 表 6.33“密钥环插件密钥类型和长度”显示了每个密钥环插件允许的密钥类型,以及任何特定于插件的密钥类型密钥长度限制。对于大多数密钥环组件,通用密钥长度限制适用并且没有密钥类型限制。

笔记

component_keyring_oci(与 keyring_oci插件一样)只能生成AES大小为 16、24 或 32 字节的类型的键。

表 6.32 通用密钥环密钥长度限制

按键操作 最大密钥长度
生成密钥

16,384 字节(MySQL 8.0.18 之前为 2,048);1,024 为 keyring_aws

存储密钥

16,384 字节(MySQL 8.0.18 之前为 2,048);4,096 为 keyring_aws

获取密钥

16,384 字节(MySQL 8.0.18 之前为 2,048);4,096 为 keyring_aws


表 6.33 Keyring 插件密钥类型和长度

插件名称 允许的密钥类型 插件特定的长度限制
keyring_aws

AES

SECRET

16、24 或 32 字节

没有任何

keyring_encrypted_file

AES

DSA

RSA

SECRET

没有任何

没有任何

没有任何

没有任何

keyring_file

AES

DSA

RSA

SECRET

没有任何

没有任何

没有任何

没有任何

keyring_hashicorp

AES

DSA

RSA

SECRET

没有任何

没有任何

没有任何

没有任何

keyring_oci

AES

16、24 或 32 字节

keyring_okv

AES

SECRET

16、24 或 32 字节

没有任何


SECRET从MySQL 8.0.19 开始可用 的密钥类型旨在使用 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');