MySQL 金鑰環支援不同類型(加密演算法)和長度的金鑰
可用的金鑰類型取決於已安裝的金鑰環外掛程式。
允許的金鑰長度受多個因素影響
通用金鑰環可載入函數介面限制(對於使用第 8.4.4.12 節「通用金鑰環金鑰管理函數」中描述的金鑰環函數之一管理的金鑰),或來自後端實作的限制。這些長度限制可能會因金鑰操作類型而異。
除了通用限制之外,個別金鑰環外掛程式可能會對每個金鑰類型的金鑰長度施加限制。
表 8.32,「通用金鑰環金鑰長度限制」顯示一般金鑰長度限制。(keyring_aws
的下限由 AWS KMS 介面而不是金鑰環函數施加。)對於金鑰環外掛程式,表 8.33,「金鑰環外掛程式金鑰類型和長度」顯示每個金鑰環外掛程式允許的金鑰類型,以及任何外掛程式特定的金鑰長度限制。對於大多數金鑰環元件,會套用一般金鑰長度限制,且沒有金鑰類型限制。
component_keyring_oci
只能產生大小為 16、24 或 32 位元組的 AES
類型金鑰。
表 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');