feat:crl管理、错误信息中文化
This commit is contained in:
@@ -5,8 +5,8 @@ spring:
|
||||
servlet:
|
||||
multipart:
|
||||
# Spring/Tomcat multipart 解析上限;必须不小于业务上传上限,否则请求会在进入 Controller 前被拒绝。
|
||||
max-file-size: ${TMS_FILE_STORAGE_MAX_FILE_SIZE_BYTES:104857600}
|
||||
max-request-size: ${TMS_FILE_STORAGE_MAX_FILE_SIZE_BYTES:104857600}
|
||||
max-file-size: ${TMS_MULTIPART_MAX_FILE_SIZE_BYTES:524288000}
|
||||
max-request-size: ${TMS_MULTIPART_MAX_REQUEST_SIZE_BYTES:536870912}
|
||||
profiles:
|
||||
# 默认激活环境;可通过 --spring.profiles.active=prod 覆盖。
|
||||
active: dev
|
||||
@@ -49,6 +49,12 @@ tms:
|
||||
upload-base-dir: ${TMS_FILE_STORAGE_UPLOAD_BASE_DIR:/home/tms/uploads}
|
||||
# 上传文件大小上限(字节)。
|
||||
max-file-size-bytes: ${TMS_FILE_STORAGE_MAX_FILE_SIZE_BYTES:104857600}
|
||||
cert:
|
||||
crl:
|
||||
# CRL 导入临时目录;原始文件只在解析过程中暂存,导入结束后删除。
|
||||
temp-dir: ${TMS_CERT_CRL_TEMP_DIR:/home/tms/tmp/crl-import}
|
||||
# CRL 文件大小上限,默认 500MiB。
|
||||
max-file-size-bytes: ${TMS_CERT_CRL_MAX_FILE_SIZE_BYTES:524288000}
|
||||
init:
|
||||
executor:
|
||||
# 初始化执行模式:SIMULATE(仅模拟,不执行外部命令) / LOCAL(本机执行脚本命令)。
|
||||
|
||||
@@ -542,7 +542,7 @@ CREATE TABLE IF NOT EXISTS t_key_entity (
|
||||
algo_type VARCHAR(16) NOT NULL COMMENT 'SM2 / RSA',
|
||||
key_len INT NOT NULL COMMENT 'SM2 fixed 256 in V1',
|
||||
key_idx INT NOT NULL COMMENT 'card key index, allowed range [2..8]',
|
||||
backup_data VARCHAR(500) NOT NULL COMMENT 'SDFE_BackupUserKey output',
|
||||
backup_data TEXT NOT NULL COMMENT 'SDFE_BackupUserKey output',
|
||||
public_key VARCHAR(500) NOT NULL COMMENT 'public key, Base64/PEM',
|
||||
p10_data VARCHAR(2000) NULL COMMENT 'PKCS#10 PEM content',
|
||||
subject_dn VARCHAR(500) NULL COMMENT 'DN used when generating P10',
|
||||
@@ -587,7 +587,7 @@ CREATE TABLE IF NOT EXISTS t_certificate (
|
||||
|
||||
CREATE TABLE IF NOT EXISTS t_trusted_cert (
|
||||
id BIGINT PRIMARY KEY,
|
||||
alias VARCHAR(128) NOT NULL,
|
||||
alias VARCHAR(128) NULL,
|
||||
subject_dn VARCHAR(1024) NOT NULL,
|
||||
issuer_dn VARCHAR(1024) NOT NULL,
|
||||
serial_number VARCHAR(128) NOT NULL,
|
||||
@@ -614,7 +614,7 @@ CREATE TABLE IF NOT EXISTS t_certificate_crl (
|
||||
crl_number VARCHAR(128) NULL,
|
||||
algo_type VARCHAR(16) NOT NULL COMMENT 'SM2 in V1',
|
||||
fingerprint VARCHAR(128) NOT NULL COMMENT 'SHA-256 fingerprint',
|
||||
crl_data MEDIUMTEXT NOT NULL COMMENT 'CRL PEM content',
|
||||
crl_data MEDIUMTEXT NOT NULL COMMENT 'reserved legacy CRL PEM content; large CRLs are not stored inline',
|
||||
this_update DATETIME(3) NOT NULL,
|
||||
next_update DATETIME(3) NULL,
|
||||
revoked_count INT NOT NULL,
|
||||
@@ -646,6 +646,25 @@ CREATE TABLE IF NOT EXISTS t_certificate_crl_revoked (
|
||||
KEY idx_t_certificate_crl_revoked_revocation_time (revocation_time)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS t_certificate_crl_import_task (
|
||||
id BIGINT PRIMARY KEY,
|
||||
task_id VARCHAR(64) NOT NULL,
|
||||
original_filename VARCHAR(255) NULL,
|
||||
file_size BIGINT NULL,
|
||||
status VARCHAR(32) NOT NULL COMMENT 'PENDING/RUNNING/SUCCESS/FAILED',
|
||||
fingerprint VARCHAR(128) NULL COMMENT 'SHA-256 fingerprint after successful parse',
|
||||
crl_id BIGINT NULL,
|
||||
revoked_count INT NOT NULL DEFAULT 0,
|
||||
error_message VARCHAR(512) NULL,
|
||||
started_at DATETIME(3) NULL,
|
||||
finished_at DATETIME(3) NULL,
|
||||
create_time DATETIME(3) NOT NULL,
|
||||
update_time DATETIME(3) NOT NULL,
|
||||
UNIQUE KEY uk_t_certificate_crl_import_task_task_id (task_id),
|
||||
KEY idx_t_certificate_crl_import_task_status (status),
|
||||
KEY idx_t_certificate_crl_import_task_create_time (create_time)
|
||||
);
|
||||
|
||||
|
||||
-- -----------------------------------------------------------------------------
|
||||
-- 日志表
|
||||
@@ -714,4 +733,4 @@ CREATE TABLE IF NOT EXISTS tms_backup_config (
|
||||
last_backup_time datetime DEFAULT NULL COMMENT '上次执行时间',
|
||||
sign_data varchar(255) NOT NULL COMMENT '其他字段的签名值',
|
||||
PRIMARY KEY (`id`)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -9,7 +9,7 @@ CREATE TABLE IF NOT EXISTS t_key_entity (
|
||||
algo_type VARCHAR(16) NOT NULL COMMENT 'SM2 / RSA',
|
||||
key_len INT NOT NULL COMMENT 'SM2 fixed 256 in V1',
|
||||
key_idx INT NOT NULL COMMENT 'card key index, allowed range [2..8]',
|
||||
backup_data VARCHAR(500) NOT NULL COMMENT 'SDFE_BackupUserKey output',
|
||||
backup_data TEXT NOT NULL COMMENT 'SDFE_BackupUserKey output',
|
||||
public_key VARCHAR(500) NOT NULL COMMENT 'public key, Base64/PEM',
|
||||
p10_data VARCHAR(2000) NULL COMMENT 'PKCS#10 PEM content',
|
||||
subject_dn VARCHAR(500) NULL COMMENT 'DN used when generating P10',
|
||||
@@ -54,7 +54,7 @@ CREATE TABLE IF NOT EXISTS t_certificate (
|
||||
|
||||
CREATE TABLE IF NOT EXISTS t_trusted_cert (
|
||||
id BIGINT PRIMARY KEY,
|
||||
alias VARCHAR(128) NOT NULL,
|
||||
alias VARCHAR(128) NULL,
|
||||
subject_dn VARCHAR(1024) NOT NULL,
|
||||
issuer_dn VARCHAR(1024) NOT NULL,
|
||||
serial_number VARCHAR(128) NOT NULL,
|
||||
@@ -81,7 +81,7 @@ CREATE TABLE IF NOT EXISTS t_certificate_crl (
|
||||
crl_number VARCHAR(128) NULL,
|
||||
algo_type VARCHAR(16) NOT NULL COMMENT 'SM2 in V1',
|
||||
fingerprint VARCHAR(128) NOT NULL COMMENT 'SHA-256 fingerprint',
|
||||
crl_data MEDIUMTEXT NOT NULL COMMENT 'CRL PEM content',
|
||||
crl_data MEDIUMTEXT NOT NULL COMMENT 'reserved legacy CRL PEM content; large CRLs are not stored inline',
|
||||
this_update DATETIME(3) NOT NULL,
|
||||
next_update DATETIME(3) NULL,
|
||||
revoked_count INT NOT NULL,
|
||||
@@ -112,3 +112,22 @@ CREATE TABLE IF NOT EXISTS t_certificate_crl_revoked (
|
||||
KEY idx_t_certificate_crl_revoked_subject_dn (subject_dn(512)),
|
||||
KEY idx_t_certificate_crl_revoked_revocation_time (revocation_time)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS t_certificate_crl_import_task (
|
||||
id BIGINT PRIMARY KEY,
|
||||
task_id VARCHAR(64) NOT NULL,
|
||||
original_filename VARCHAR(255) NULL,
|
||||
file_size BIGINT NULL,
|
||||
status VARCHAR(32) NOT NULL COMMENT 'PENDING/RUNNING/SUCCESS/FAILED',
|
||||
fingerprint VARCHAR(128) NULL COMMENT 'SHA-256 fingerprint after successful parse',
|
||||
crl_id BIGINT NULL,
|
||||
revoked_count INT NOT NULL DEFAULT 0,
|
||||
error_message VARCHAR(512) NULL,
|
||||
started_at DATETIME(3) NULL,
|
||||
finished_at DATETIME(3) NULL,
|
||||
create_time DATETIME(3) NOT NULL,
|
||||
update_time DATETIME(3) NOT NULL,
|
||||
UNIQUE KEY uk_t_certificate_crl_import_task_task_id (task_id),
|
||||
KEY idx_t_certificate_crl_import_task_status (status),
|
||||
KEY idx_t_certificate_crl_import_task_create_time (create_time)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.cisd.tms.modules.cert.mapper.CertificateCrlImportTaskMapper">
|
||||
|
||||
<resultMap id="CertificateCrlImportTaskResultMap" type="com.cisd.tms.modules.cert.entity.CertificateCrlImportTaskEntity">
|
||||
<id property="id" column="id"/>
|
||||
<result property="taskId" column="task_id"/>
|
||||
<result property="originalFilename" column="original_filename"/>
|
||||
<result property="fileSize" column="file_size"/>
|
||||
<result property="status" column="status"/>
|
||||
<result property="fingerprint" column="fingerprint"/>
|
||||
<result property="crlId" column="crl_id"/>
|
||||
<result property="revokedCount" column="revoked_count"/>
|
||||
<result property="errorMessage" column="error_message"/>
|
||||
<result property="startedAt" column="started_at"/>
|
||||
<result property="finishedAt" column="finished_at"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="CertificateCrlImportTaskColumns">
|
||||
id, task_id, original_filename, file_size, status, fingerprint, crl_id, revoked_count,
|
||||
error_message, started_at, finished_at, create_time, update_time
|
||||
</sql>
|
||||
|
||||
<select id="selectByTaskId" parameterType="string" resultMap="CertificateCrlImportTaskResultMap">
|
||||
SELECT <include refid="CertificateCrlImportTaskColumns"/>
|
||||
FROM t_certificate_crl_import_task
|
||||
WHERE task_id = #{taskId}
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<update id="updateRunning">
|
||||
UPDATE t_certificate_crl_import_task
|
||||
SET status = 'RUNNING',
|
||||
error_message = NULL,
|
||||
started_at = #{startedAt},
|
||||
update_time = NOW(3)
|
||||
WHERE task_id = #{taskId}
|
||||
</update>
|
||||
|
||||
<update id="updateSuccess">
|
||||
UPDATE t_certificate_crl_import_task
|
||||
SET status = 'SUCCESS',
|
||||
crl_id = #{crlId},
|
||||
fingerprint = #{fingerprint},
|
||||
revoked_count = #{revokedCount},
|
||||
error_message = NULL,
|
||||
finished_at = #{finishedAt},
|
||||
update_time = NOW(3)
|
||||
WHERE task_id = #{taskId}
|
||||
</update>
|
||||
|
||||
<update id="updateFailed">
|
||||
UPDATE t_certificate_crl_import_task
|
||||
SET status = 'FAILED',
|
||||
error_message = #{errorMessage},
|
||||
finished_at = #{finishedAt},
|
||||
update_time = NOW(3)
|
||||
WHERE task_id = #{taskId}
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.cisd.tms.modules.cert.mapper.CertificateCrlRevokedEntityMapper">
|
||||
|
||||
<insert id="insertBatch">
|
||||
INSERT INTO t_certificate_crl_revoked (
|
||||
id, crl_id, issuer_dn, serial_number, subject_dn, algo_type, crl_number,
|
||||
revocation_time, revocation_reason, create_time, update_time
|
||||
)
|
||||
VALUES
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(
|
||||
#{item.id}, #{item.crlId}, #{item.issuerDn}, #{item.serialNumber},
|
||||
#{item.subjectDn}, #{item.algoType}, #{item.crlNumber},
|
||||
#{item.revocationTime}, #{item.revocationReason},
|
||||
#{item.createTime}, #{item.updateTime}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user