mirror of
https://github.com/postgres/postgres.git
synced 2025-08-28 18:48:04 +03:00
Add key management system
This adds a key management system that stores (currently) two data encryption keys of length 128, 192, or 256 bits. The data keys are AES256 encrypted using a key encryption key, and validated via GCM cipher mode. A command to obtain the key encryption key must be specified at initdb time, and will be run at every database server start. New parameters allow a file descriptor open to the terminal to be passed. pg_upgrade support has also been added. Discussion: https://postgr.es/m/CA+fd4k7q5o6Nc_AaX6BcYM9yqTbC6_pnH-6nSD=54Zp6NBQTCQ@mail.gmail.com Discussion: https://postgr.es/m/20201202213814.GG20285@momjian.us Author: Masahiko Sawada, me, Stephen Frost
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
|
||||
#include "catalog/pg_tablespace_d.h"
|
||||
#include "common/hashfn.h"
|
||||
#include "common/kmgr_utils.h"
|
||||
#include "common/string.h"
|
||||
#include "datapagemap.h"
|
||||
#include "filemap.h"
|
||||
@@ -107,6 +108,13 @@ static const char *excludeDirContents[] =
|
||||
/* Contents removed on startup, see AsyncShmemInit(). */
|
||||
"pg_notify",
|
||||
|
||||
/*
|
||||
* Skip cryptographic keys. It's generally not a good idea to copy the
|
||||
* cryptographic keys from source database because these might use
|
||||
* different cluster key.
|
||||
*/
|
||||
KMGR_DIR,
|
||||
|
||||
/*
|
||||
* Old contents are loaded for possible debugging but are not required for
|
||||
* normal operation, see SerialInit().
|
||||
|
Reference in New Issue
Block a user