-prepare for AML staff PKI

This commit is contained in:
Christian Grothoff 2022-12-27 09:05:45 +01:00
parent 871d010637
commit 5dcad73d29
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
3 changed files with 49 additions and 3 deletions

View File

@ -32,7 +32,8 @@ BEGIN
',new_status INT4 NOT NULL DEFAULT(0)' ',new_status INT4 NOT NULL DEFAULT(0)'
',decision_time INT8 NOT NULL DEFAULT(0)' ',decision_time INT8 NOT NULL DEFAULT(0)'
',justification VARCHAR NOT NULL' ',justification VARCHAR NOT NULL'
',decider VARCHAR NOT NULL' ',decider_pub BYTEA PRIMARY KEY CHECK (LENGTH(decider_pub)=32)'
',decider_sig BYTEA PRIMARY KEY CHECK (LENGTH(decider_sig)=64)'
') %s ;' ') %s ;'
,table_name ,table_name
,'PARTITION BY HASH (h_payto)' ,'PARTITION BY HASH (h_payto)'
@ -74,8 +75,14 @@ BEGIN
,partition_suffix ,partition_suffix
); );
PERFORM comment_partitioned_column( PERFORM comment_partitioned_column(
'Name of the staff member who made the AML decision' 'Public key of the staff member who made the AML decision'
,'decider' ,'decider_pub'
,table_name
,partition_suffix
);
PERFORM comment_partitioned_column(
'Signature key of the staff member affirming the AML decision; of type AML_DECISION'
,'decider_sig'
,table_name ,table_name
,partition_suffix ,partition_suffix
); );

View File

@ -0,0 +1,37 @@
--
-- This file is part of TALER
-- Copyright (C) 2014--2022 Taler Systems SA
--
-- TALER is free software; you can redistribute it and/or modify it under the
-- terms of the GNU General Public License as published by the Free Software
-- Foundation; either version 3, or (at your option) any later version.
--
-- TALER is distributed in the hope that it will be useful, but WITHOUT ANY
-- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-- A PARTICULAR PURPOSE. See the GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License along with
-- TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
--
CREATE TABLE aml_staff
(aml_staff_uuid BIGINT GENERATED BY DEFAULT AS IDENTITY UNIQUE
,decider_pub BYTEA PRIMARY KEY CHECK (LENGTH(decider_pub)=32)
,master_sig BYTEA PRIMARY KEY CHECK (LENGTH(master_sig)=64)
,decider_name VARCHAR NOT NULL
,is_active BOOLEAN NOT NULL
,last_change INT8 NOT NULL
);
COMMENT ON TABLE aml_staff
IS 'Table with AML staff members the exchange uses or has used in the past. Entries never expire as we need to remember the last_change column indefinitely.';
COMMENT ON COLUMN aml_staff.decider_pub
IS 'Public key of the AML staff member.';
COMMENT ON COLUMN aml_staff.master_sig
IS 'The master public key signature on the AML staff member status.';
COMMENT ON COLUMN aml_staff.decider_name
IS 'Name of the staff member.';
COMMENT ON COLUMN aml_staff.is_active
IS 'true if we are currently supporting the use of this AML staff member.';
COMMENT ON COLUMN aml_staff.last_change
IS 'Latest time when active status changed. Used to detect replays of old messages.';

View File

@ -23,6 +23,8 @@ SET search_path TO exchange;
#include "0003-purse_deletion.sql" #include "0003-purse_deletion.sql"
#include "0003-kyc_attributes.sql" #include "0003-kyc_attributes.sql"
#include "0003-aml_status.sql" #include "0003-aml_status.sql"
#include "0003-aml_staff.sql"
#include "0003-aml_history.sql" #include "0003-aml_history.sql"
COMMIT; COMMIT;