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