Commit f22f1112 by 周海峰

密钥管理

parent 48edd2a2
...@@ -127,7 +127,7 @@ export function downloadSanWeiConfig(query) { ...@@ -127,7 +127,7 @@ export function downloadSanWeiConfig(query) {
}) })
} }
/** * 上传三密管配置 /** * 上传三密管配置
* @description 该方法用于上传三维密管配置文件,通常用于测试或配置验证 * @description 该方法用于上传三维密管配置文件,通常用于测试或配置验证
* @param {Object} formData - 包含文件数据的FormData对象 * @param {Object} formData - 包含文件数据的FormData对象
* @returns {Promise} - 返回一个Promise对象, 表示上传操作的结果 * @returns {Promise} - 返回一个Promise对象, 表示上传操作的结果
......
...@@ -3,14 +3,14 @@ export const testData = { ...@@ -3,14 +3,14 @@ export const testData = {
machine: { machine: {
sdkkeyid: '110', sdkkeyid: '110',
sdkpassword: 'pass', sdkpassword: 'pass',
hsmfiledir: '/Users/zhouhaifeng/Desktop' hsmfiledir: '/Users/zhouhaifeng/Desktop/'
}, },
cloud: { cloud: {
sdkkeyid: '110', sdkkeyid: '110',
sdkpassword: 'pass', sdkpassword: 'pass',
hsmfiledir: '/home/ghca/data/', hsmfiledir: '/Users/zhouhaifeng/Desktop/',
keystoredir: '/home/ghca/data/', keystoredir: '/Users/zhouhaifeng/Desktop/',
truststoredir: '/home/ghca/data/' truststoredir: '/Users/zhouhaifeng/Desktop/'
}, },
card: { card: {
cphpwd: '', cphpwd: '',
...@@ -41,8 +41,8 @@ export const testData = { ...@@ -41,8 +41,8 @@ export const testData = {
thport: '', thport: '',
appid: '', appid: '',
keyid: '', keyid: '',
keystoredir: '', keystoredir: '/Users/zhouhaifeng/Desktop/',
truststoredir: '' truststoredir: '/Users/zhouhaifeng/Desktop/'
}, },
dean: { dean: {
ip: '', ip: '',
...@@ -52,10 +52,10 @@ export const testData = { ...@@ -52,10 +52,10 @@ export const testData = {
keynum: '' keynum: ''
}, },
star: { star: {
zdxlzjcedir: '', zdxlzjcedir: '/Users/zhouhaifeng/Desktop/',
certspem: '', certspem: '/Users/zhouhaifeng/Desktop/',
sigkeypem: '', sigkeypem: '/Users/zhouhaifeng/Desktop/',
cacrtpem: '' cacrtpem: '/Users/zhouhaifeng/Desktop/'
}, },
threeTerm: {} threeTerm: {}
}; };
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
<div class="input-group"> <div class="input-group">
<el-input v-model="modelValue.keystoredir" placeholder="" style="width: 300px" :disabled="!editable" /> <el-input v-model="modelValue.keystoredir" placeholder="" style="width: 300px" :disabled="!editable" />
<div class="button-group"> <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>
<div class="tip-text">* KeyStore: 类似client.p12客户端证书上传,此处上传路径应和配置文件中客户端证书路径保持一致</div> <div class="tip-text">* KeyStore: 类似client.p12客户端证书上传,此处上传路径应和配置文件中客户端证书路径保持一致</div>
</div> </div>
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
<div class="input-group"> <div class="input-group">
<el-input v-model="modelValue.truststoredir" placeholder="" style="width: 300px" :disabled="!editable" /> <el-input v-model="modelValue.truststoredir" placeholder="" style="width: 300px" :disabled="!editable" />
<div class="button-group"> <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>
<div class="tip-text">* TrustStore: 类似ca.cer CA证书上传,此处上传路径应和配置文件里的证书路径保持一致</div> <div class="tip-text">* TrustStore: 类似ca.cer CA证书上传,此处上传路径应和配置文件里的证书路径保持一致</div>
</div> </div>
...@@ -273,7 +273,7 @@ ...@@ -273,7 +273,7 @@
<el-form-item label="私钥证书" required> <el-form-item label="私钥证书" required>
<div class="input-group"> <div class="input-group">
<el-input v-model="modelValue.keystoredir" placeholder="" style="width: 300px" :disabled="!editable" /> <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 class="tip-text">* 类似sm2pri.pkcs8.der 证书上传</div>
</div> </div>
</el-form-item> </el-form-item>
...@@ -281,7 +281,7 @@ ...@@ -281,7 +281,7 @@
<el-form-item label="公钥证书" required> <el-form-item label="公钥证书" required>
<div class="input-group"> <div class="input-group">
<el-input v-model="modelValue.truststoredir" placeholder="" style="width: 300px" :disabled="!editable" /> <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 class="tip-text">* 类似sm2pub.cer 证书上传</div>
</div> </div>
</el-form-item> </el-form-item>
...@@ -342,7 +342,7 @@ ...@@ -342,7 +342,7 @@
<el-form-item label="用户证书路径"> <el-form-item label="用户证书路径">
<div class="input-group"> <div class="input-group">
<el-input v-model="modelValue.certspem" style="width: 300px" :disabled="!editable" /> <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 class="tip-text">* certs.pem</div>
</div> </div>
</el-form-item> </el-form-item>
...@@ -350,7 +350,7 @@ ...@@ -350,7 +350,7 @@
<el-form-item label="用户密钥路径"> <el-form-item label="用户密钥路径">
<div class="input-group"> <div class="input-group">
<el-input v-model="modelValue.sigkeypem" style="width: 300px" :disabled="!editable" /> <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 class="tip-text">* sig.key.pem</div>
</div> </div>
</el-form-item> </el-form-item>
...@@ -358,7 +358,7 @@ ...@@ -358,7 +358,7 @@
<el-form-item label="服务端CA证书路径"> <el-form-item label="服务端CA证书路径">
<div class="input-group"> <div class="input-group">
<el-input v-model="modelValue.cacrtpem" style="width: 300px" :disabled="!editable" /> <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 class="tip-text">* ca.crt.pem</div>
</div> </div>
</el-form-item> </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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论