chsm-server/doc/ssp_dm.sql
2024-11-08 10:42:14 +08:00

216 lines
11 KiB
SQL

-- 密码设备
CREATE TABLE sp_device (
id BIGINT NOT NULL COMMENT 'id',
name VARCHAR(255) COMMENT '名称',
device_number VARCHAR(255) COMMENT '编号',
manufacturer VARCHAR(255) COMMENT '制造厂商',
manufacturer_model VARCHAR(255) COMMENT '制造厂商型号',
service_ip VARCHAR(30) COMMENT '服务ip',
service_port INT COMMENT '服务端口',
manage_ip VARCHAR(30) COMMENT '管理ip',
manage_port INT COMMENT '管理端口',
access_credentials VARCHAR(1000) COMMENT '访问凭证',
connected TINYINT NOT NULL DEFAULT 0,
last_connected_time TIMESTAMP ,
last_check_time TIMESTAMP ,
status VARCHAR(25) DEFAULT '' COMMENT '设备状态',
group_id BIGINT NOT NULL DEFAULT 0 COMMENT '设备组id',
group_name VARCHAR(255) NOT NULL DEFAULT '' COMMENT '设备组名称',
weight INT DEFAULT 1 COMMENT '负载时权重',
remark VARCHAR(500) NOT NULL DEFAULT '' COMMENT '备注',
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
PRIMARY KEY (id)
);
-- 设备组
CREATE TABLE sp_device_group (
id BIGINT NOT NULL COMMENT 'id',
name VARCHAR(255) NOT NULL DEFAULT '' COMMENT '服务名称',
remark VARCHAR(500) NOT NULL DEFAULT '' COMMENT '备注',
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
PRIMARY KEY (id)
);
-- TMK
CREATE TABLE sp_tmk_info (
id BIGINT NOT NULL COMMENT 'id',
device_serial VARCHAR(255) NOT NULL DEFAULT '' COMMENT '设备序列号',
enc_tmk VARCHAR(255) NOT NULL DEFAULT '' COMMENT 'tmk密文',
pub_key VARCHAR(400) NOT NULL DEFAULT '' COMMENT '设备公钥',
remark VARCHAR(500) NOT NULL DEFAULT '' COMMENT '备注',
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
PRIMARY KEY (id)
);
-- 密码服务
CREATE TABLE sp_crypto_service (
id BIGINT NOT NULL COMMENT 'id',
name VARCHAR(255) NOT NULL DEFAULT '' COMMENT '服务名称',
-- device_group_id BIGINT NOT NULL DEFAULT 0 COMMENT '设备组id',
-- device_group_name VARCHAR(255) NOT NULL DEFAULT '' COMMENT '设备组名称',
status VARCHAR(50) NOT NULL DEFAULT '' COMMENT '状态',
creator_id BIGINT COMMENT '创建者id',
remark VARCHAR(500) NOT NULL DEFAULT '' COMMENT '备注',
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
PRIMARY KEY (id)
);
-- 密码服务设备组
CREATE TABLE sp_crypto_service_device_group (
id BIGINT NOT NULL COMMENT 'id',
service_id BIGINT NOT NULL COMMENT '密码服务id',
device_group_id BIGINT NOT NULL DEFAULT 0 COMMENT '设备组id',
device_group_name VARCHAR(255) NOT NULL DEFAULT '' COMMENT '设备组名称',
remark VARCHAR(500) NOT NULL DEFAULT '' COMMENT '备注',
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
PRIMARY KEY (id)
);
-- 密码服务api
CREATE TABLE sp_crypto_service_api (
id BIGINT NOT NULL COMMENT 'id',
crypto_service_id BIGINT NOT NULL COMMENT '密码服务id',
api_group VARCHAR(255) NOT NULL DEFAULT '' COMMENT 'API分组',
api_code VARCHAR(255) NOT NULL DEFAULT '' COMMENT 'API标识',
api_name VARCHAR(255) NOT NULL DEFAULT '' COMMENT 'API名称',
remark VARCHAR(500) NOT NULL DEFAULT '' COMMENT '备注',
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
PRIMARY KEY (id)
);
-- 业务应用
CREATE TABLE sp_application (
id BIGINT NOT NULL COMMENT 'id',
name VARCHAR(255) NOT NULL DEFAULT '' COMMENT '应用名称',
app_key VARCHAR(100) NOT NULL DEFAULT '' COMMENT 'app_key',
app_secret VARCHAR(100) NOT NULL DEFAULT '' COMMENT 'app_secret',
status VARCHAR(50) NOT NULL DEFAULT '' COMMENT '状态',
creator_id BIGINT COMMENT '创建者id',
remark VARCHAR(500) NOT NULL DEFAULT '' COMMENT '备注',
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
PRIMARY KEY (id)
);
-- 业务应用绑定的服务
CREATE TABLE sp_app_service (
id BIGINT NOT NULL COMMENT 'id',
application_id BIGINT NOT NULL COMMENT '应用id',
service_id BIGINT NOT NULL COMMENT '服务id',
remark VARCHAR(500) NOT NULL DEFAULT '' COMMENT '备注',
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
PRIMARY KEY (id)
);
-- 密钥模版
CREATE TABLE sp_key_template (
id BIGINT NOT NULL COMMENT 'id',
code VARCHAR(100) NOT NULL DEFAULT '' COMMENT '编号',
name VARCHAR(255) NOT NULL DEFAULT '' COMMENT '名称',
key_type VARCHAR(30) NOT NULL DEFAULT '' COMMENT '密钥类型',
key_alg VARCHAR(30) NOT NULL DEFAULT '' COMMENT '密钥算法',
key_length INT NOT NULL DEFAULT 0 COMMENT '密钥长度',
key_usage INT NOT NULL DEFAULT 0 COMMENT '密钥用途',
check_alg VARCHAR(30) NOT NULL DEFAULT '' COMMENT '校验算法',
check_value VARCHAR(255) NOT NULL DEFAULT '' COMMENT '校验值',
valid_time INT NOT NULL DEFAULT 0 COMMENT '有效期',
valid_unit VARCHAR(30) NOT NULL DEFAULT '' COMMENT '有效期时间单位',
start_after_create_time INT NOT NULL DEFAULT 0 COMMENT '创建后多长时间生效',
start_after_create_unit VARCHAR(30) NOT NULL DEFAULT '' COMMENT '创建后多长时间生效时间单位',
remark VARCHAR(500) NOT NULL DEFAULT '' COMMENT '备注',
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
PRIMARY KEY (id)
);
-- 密钥信息
CREATE TABLE sp_key_info (
id BIGINT NOT NULL COMMENT 'id',
application_id BIGINT NOT NULL COMMENT '应用id',
key_template_id BIGINT NOT NULL COMMENT '模版id',
code VARCHAR(100) NOT NULL DEFAULT '' COMMENT '编号',
key_type VARCHAR(30) NOT NULL DEFAULT '' COMMENT '密钥分类',
key_alg VARCHAR(30) NOT NULL DEFAULT '' COMMENT '密钥算法',
key_length INT NOT NULL DEFAULT 0 COMMENT '密钥长度',
key_usage INT NOT NULL DEFAULT 0 COMMENT '密钥用途',
status VARCHAR(30) NOT NULL DEFAULT '' COMMENT '密钥状态',
check_alg VARCHAR(30) NOT NULL DEFAULT '' COMMENT '校验算法',
check_value VARCHAR(255) NOT NULL DEFAULT '' COMMENT '校验值',
effective_time TIMESTAMP COMMENT '启用时间',
expired_time TIMESTAMP COMMENT '停用时间',
remark VARCHAR(500) NOT NULL DEFAULT '' COMMENT '备注',
deleted TINYINT NOT NULL DEFAULT 0,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
delete_time TIMESTAMP,
PRIMARY KEY (id)
);
-- 密钥记录
CREATE TABLE sp_key_record (
id BIGINT NOT NULL COMMENT 'id',
key_id BIGINT NOT NULL COMMENT '密钥id',
key_index VARCHAR(100) NOT NULL DEFAULT '' COMMENT '密钥索引',
key_data VARCHAR(255) NOT NULL DEFAULT '' COMMENT '密钥密文',
pub_idx VARCHAR(10) NOT NULL DEFAULT '' COMMENT '公钥',
pub_key VARCHAR(400) NOT NULL DEFAULT '' COMMENT '公钥',
check_alg VARCHAR(30) NOT NULL DEFAULT '' COMMENT '校验算法',
check_value VARCHAR(255) NOT NULL DEFAULT '' COMMENT '校验值',
effective_time TIMESTAMP COMMENT '生效时间',
expired_time TIMESTAMP COMMENT '过期时间',
remark VARCHAR(500) NOT NULL DEFAULT '' COMMENT '备注',
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
PRIMARY KEY (id)
);
CREATE INDEX idx_kid ON sp_key_record(key_id);
CREATE INDEX idx_pk ON sp_key_record(pub_idx);
-- 证书请求记录
CREATE TABLE sp_key_csr (
id BIGINT NOT NULL COMMENT 'id',
application_id BIGINT NOT NULL COMMENT '应用id',
key_id BIGINT NOT NULL COMMENT '密钥id',
key_record_id BIGINT NOT NULL COMMENT '密钥记录id',
subject VARCHAR(1020) NOT NULL DEFAULT '' COMMENT 'DN',
key_data VARCHAR(255) NOT NULL DEFAULT '' COMMENT '密钥密文',
pub_key VARCHAR(400) NOT NULL DEFAULT '' COMMENT '公钥',
csr_txt VARCHAR(2000) COMMENT '证书',
remark VARCHAR(500) NOT NULL DEFAULT '' COMMENT '备注',
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
PRIMARY KEY (id)
);
-- 证书
CREATE TABLE sp_app_cert (
id BIGINT NOT NULL COMMENT 'id',
application_id BIGINT NOT NULL COMMENT '应用id',
key_id BIGINT NOT NULL COMMENT '密钥id',
key_record_id BIGINT NOT NULL COMMENT '密钥记录id',
key_alg VARCHAR(30) NOT NULL DEFAULT '' COMMENT '密钥算法',
cert_type VARCHAR(30) NOT NULL DEFAULT '' COMMENT '证书类型,加密|签名',
status VARCHAR(30) DEFAULT '' COMMENT '状态',
single TINYINT NOT NULL DEFAULT 0 COMMENT '是否单证',
version VARCHAR(10) NOT NULL DEFAULT '' COMMENT '证书版本',
subject VARCHAR(255) NOT NULL DEFAULT '' COMMENT 'DN',
serial_number VARCHAR(255) NOT NULL DEFAULT '' COMMENT '证书号',
issuer_dn VARCHAR(255) NOT NULL DEFAULT '' COMMENT '颁发者',
not_before TIMESTAMP NOT NULL COMMENT '开始时间',
not_after TIMESTAMP NOT NULL COMMENT '结束时间',
key_usage VARCHAR(200) NOT NULL DEFAULT '' COMMENT '密钥用途',
pub_key VARCHAR(255) NOT NULL DEFAULT '' COMMENT '公钥',
enc_pri_key VARCHAR(255) NOT NULL DEFAULT '' COMMENT '加密后的私钥',
cert_text VARCHAR(4099) NOT NULL DEFAULT '' COMMENT '证书',
remark VARCHAR(500) NOT NULL DEFAULT '' COMMENT '备注',
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP(),
PRIMARY KEY (id)
);