Commit f22f1112 by 周海峰

密钥管理

parent 48edd2a2
......@@ -127,7 +127,7 @@ export function downloadSanWeiConfig(query) {
})
}
/** * 上传三密管配置
/** * 上传三密管配置
* @description 该方法用于上传三维密管配置文件,通常用于测试或配置验证
* @param {Object} formData - 包含文件数据的FormData对象
* @returns {Promise} - 返回一个Promise对象, 表示上传操作的结果
......
......@@ -3,14 +3,14 @@ export const testData = {
machine: {
sdkkeyid: '110',
sdkpassword: 'pass',
hsmfiledir: '/Users/zhouhaifeng/Desktop'
hsmfiledir: '/Users/zhouhaifeng/Desktop/'
},
cloud: {
sdkkeyid: '110',
sdkpassword: 'pass',
hsmfiledir: '/home/ghca/data/',
keystoredir: '/home/ghca/data/',
truststoredir: '/home/ghca/data/'
hsmfiledir: '/Users/zhouhaifeng/Desktop/',
keystoredir: '/Users/zhouhaifeng/Desktop/',
truststoredir: '/Users/zhouhaifeng/Desktop/'
},
card: {
cphpwd: '',
......@@ -41,8 +41,8 @@ export const testData = {
thport: '',
appid: '',
keyid: '',
keystoredir: '',
truststoredir: ''
keystoredir: '/Users/zhouhaifeng/Desktop/',
truststoredir: '/Users/zhouhaifeng/Desktop/'
},
dean: {
ip: '',
......@@ -52,10 +52,10 @@ export const testData = {
keynum: ''
},
star: {
zdxlzjcedir: '',
certspem: '',
sigkeypem: '',
cacrtpem: ''
zdxlzjcedir: '/Users/zhouhaifeng/Desktop/',
certspem: '/Users/zhouhaifeng/Desktop/',
sigkeypem: '/Users/zhouhaifeng/Desktop/',
cacrtpem: '/Users/zhouhaifeng/Desktop/'
},
threeTerm: {}
};
......@@ -66,7 +66,7 @@
<div class="input-group">
<el-input v-model="modelValue.keystoredir" placeholder="" style="width: 300px" :disabled="!editable" />
<div class="button-group">
<el-button type="primary" @click="uploadCert('client')">上传证书</el-button>
<el-button type="primary" @click="uploadCert('cloud-client')">上传证书</el-button>
</div>
<div class="tip-text">* KeyStore: 类似client.p12客户端证书上传,此处上传路径应和配置文件中客户端证书路径保持一致</div>
</div>
......@@ -76,7 +76,7 @@
<div class="input-group">
<el-input v-model="modelValue.truststoredir" placeholder="" style="width: 300px" :disabled="!editable" />
<div class="button-group">
<el-button type="primary" @click="uploadCert('ca')">上传证书</el-button>
<el-button type="primary" @click="uploadCert('cloud-ca')">上传证书</el-button>
</div>
<div class="tip-text">* TrustStore: 类似ca.cer CA证书上传,此处上传路径应和配置文件里的证书路径保持一致</div>
</div>
......@@ -273,7 +273,7 @@
<el-form-item label="私钥证书" required>
<div class="input-group">
<el-input v-model="modelValue.keystoredir" placeholder="" style="width: 300px" :disabled="!editable" />
<el-button type="primary" @click="uploadCert('sm2')">上传证书</el-button>
<el-button type="primary" @click="uploadCert('thkms-sm2')">上传证书</el-button>
<div class="tip-text">* 类似sm2pri.pkcs8.der 证书上传</div>
</div>
</el-form-item>
......@@ -281,7 +281,7 @@
<el-form-item label="公钥证书" required>
<div class="input-group">
<el-input v-model="modelValue.truststoredir" placeholder="" style="width: 300px" :disabled="!editable" />
<el-button type="primary" @click="uploadCert('sm2pub')">上传证书</el-button>
<el-button type="primary" @click="uploadCert('thkms-sm2pub')">上传证书</el-button>
<div class="tip-text">* 类似sm2pub.cer 证书上传</div>
</div>
</el-form-item>
......@@ -342,7 +342,7 @@
<el-form-item label="用户证书路径">
<div class="input-group">
<el-input v-model="modelValue.certspem" style="width: 300px" :disabled="!editable" />
<el-button type="primary" @click="uploadCert('certs')">上传证书</el-button>
<el-button type="primary" @click="uploadCert('star-certs')">上传证书</el-button>
<div class="tip-text">* certs.pem</div>
</div>
</el-form-item>
......@@ -350,7 +350,7 @@
<el-form-item label="用户密钥路径">
<div class="input-group">
<el-input v-model="modelValue.sigkeypem" style="width: 300px" :disabled="!editable" />
<el-button type="primary" @click="uploadCert('sigkey')">上传证书</el-button>
<el-button type="primary" @click="uploadCert('star-sigkey')">上传证书</el-button>
<div class="tip-text">* sig.key.pem</div>
</div>
</el-form-item>
......@@ -358,7 +358,7 @@
<el-form-item label="服务端CA证书路径">
<div class="input-group">
<el-input v-model="modelValue.cacrtpem" style="width: 300px" :disabled="!editable" />
<el-button type="primary" @click="uploadCert('ca')">上传证书</el-button>
<el-button type="primary" @click="uploadCert('star-ca')">上传证书</el-button>
<div class="tip-text">* ca.crt.pem</div>
</div>
</el-form-item>
......
<template>
<el-dialog
:title="title"
:model-value="visible"
width="500px"
:close-on-click-modal="false"
:close-on-press-escape="false"
@close="handleCancel"
@update:model-value="val => emit('update:visible', val)"
>
<div style="padding: 10px 0;">
<el-upload
drag
action=""
:auto-upload="false"
:file-list="fileList"
:on-change="handleFileChange"
:show-file-list="true"
:limit="1"
>
<i class="el-icon-upload" style="font-size:48px;color:#409EFF;"></i>
<div class="el-upload__text" style="font-size:16px;color:#909399;">点击或拖拽文件到此处进行上传</div>
</el-upload>
</div>
<div style="text-align:center;margin-top:20px;">
<el-button @click="handleCancel">取消</el-button>
<el-button type="primary" :loading="loading" @click="handleConfirm">确定</el-button>
</div>
</el-dialog>
</template>
<script setup>
import { ref, watch, defineProps, defineEmits } from 'vue';
const props = defineProps({
visible: Boolean,
title: {
type: String,
default: '上传'
},
loading: Boolean,
fileList: {
type: Array,
default: () => []
}
});
const emit = defineEmits(['update:visible', 'file-change', 'confirm', 'cancel']);
const handleFileChange = (file, fileList) => {
emit('file-change', file, fileList);
};
const handleConfirm = () => {
emit('confirm');
};
const handleCancel = () => {
emit('cancel');
emit('update:visible', false);
};
watch(() => props.visible, (val) => {
if (!val) emit('cancel');
});
</script>
<style scoped>
</style>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论