248 lines
9.9 KiB
HTML
248 lines
9.9 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<title>SFK测试</title>
|
|
<link rel='stylesheet' href="../css/styles.css" />
|
|
<script type="text/javascript" src="../fiseckey.js"></script>
|
|
<script language="JavaScript">
|
|
var dev = 0;
|
|
var app = 0;
|
|
var con = 0;
|
|
var conname = 0;
|
|
var flag = 0;
|
|
|
|
function PrintInfo(info) {
|
|
deviceManagerText.value = deviceManagerText.value + info + "\r\n";
|
|
document.getElementById("deviceManagerText").scrollTop = document.getElementById("deviceManagerText").scrollHeight;
|
|
}
|
|
function clearconsole() {
|
|
deviceManagerText.value = "";
|
|
document.getElementById("deviceManagerText").scrollTop = document.getElementById("deviceManagerText").scrollHeight;
|
|
}
|
|
|
|
function seturl(dev,app,con,conname) {
|
|
document.getElementById("indexhtml").href="../index.html?dev="+dev+"&app="+app+"&con="+con+"&conname="+conname;
|
|
document.getElementById("devhtml").href="./devicemanager.html?dev="+dev+"&app="+app+"&con="+con+"&conname="+conname;
|
|
document.getElementById("authhtml").href="./authmanager.html?dev="+dev+"&app="+app+"&con="+con+"&conname="+conname;
|
|
document.getElementById("apphtml").href="./appmanager.html?dev="+dev+"&app="+app+"&con="+con+"&conname="+conname;
|
|
document.getElementById("filehtml").href="./filemanager.html?dev="+dev+"&app="+app+"&con="+con+"&conname="+conname;
|
|
document.getElementById("containerhtml").href="./containermanager.html?dev="+dev+"&app="+app+"&con="+con+"&conname="+conname;
|
|
document.getElementById("servicehtml").href="./service.html?dev="+dev+"&app="+app+"&con="+con+"&conname="+conname;
|
|
flag = 1;
|
|
}
|
|
|
|
function decodeurl() {
|
|
var url = window.location.href;
|
|
var tmp = url.split('?');
|
|
var param = tmp[1].split('&');
|
|
dev = param[0].split('=')[1];
|
|
app = param[1].split('=')[1];
|
|
con = param[2].split('=')[1];
|
|
conname = param[3].split('=')[1];
|
|
}
|
|
|
|
window.onload=function() {
|
|
if(flag != 1)
|
|
decodeurl();
|
|
seturl(dev,app,con,conname);
|
|
}
|
|
|
|
function reload() {
|
|
if(flag != 1)
|
|
decodeurl();
|
|
seturl(dev,app,con,conname);
|
|
}
|
|
|
|
//function
|
|
function EnumContainer() {
|
|
try {
|
|
var result = SKFKEY.SKF_EnumContainer(app);
|
|
PrintInfo(result);
|
|
} catch (e) {
|
|
PrintInfo(e.message);
|
|
}
|
|
}
|
|
|
|
function GetContainerType() {
|
|
try {
|
|
var result = SKFKEY.SKF_GetContainerType(con);
|
|
PrintInfo(result);
|
|
} catch (e) {
|
|
PrintInfo(e.message);
|
|
}
|
|
}
|
|
|
|
function CreateContainer() {
|
|
try {
|
|
var cname = containerManager.containername.value;
|
|
var result = SKFKEY.SKF_CreateContainer(app, cname);
|
|
con = result;
|
|
conname = cname;
|
|
seturl(dev,app,con,conname);
|
|
PrintInfo("容器句柄:" + result);
|
|
} catch (e) {
|
|
PrintInfo(e.message);
|
|
}
|
|
}
|
|
|
|
function DeleteContainer() {
|
|
try {
|
|
var cname = containerManager.containername.value;
|
|
var result = SKFKEY.SKF_DeleteContainer(app, cname);
|
|
if(result == 0)
|
|
PrintInfo("删除成功");
|
|
} catch (e) {
|
|
PrintInfo(e.message);
|
|
}
|
|
}
|
|
|
|
function OpenContainer() {
|
|
try {
|
|
var cname = containerManager.containername.value;
|
|
var result = SKFKEY.SKF_OpenContainer(app, cname);
|
|
con = result;
|
|
conname = cname;
|
|
seturl(dev,app,con,conname);
|
|
PrintInfo("容器句柄:" + result);
|
|
} catch (e) {
|
|
PrintInfo(e.message);
|
|
}
|
|
}
|
|
|
|
function CloseContainer() {
|
|
try {
|
|
var result = SKFKEY.SKF_CloseContainer(con);
|
|
if(result == 0)
|
|
PrintInfo("关闭成功");
|
|
con = 0;
|
|
conname = 0;
|
|
seturl(dev,app,con,conname);
|
|
} catch (e) {
|
|
PrintInfo(e.message);
|
|
}
|
|
}
|
|
|
|
function ImportCertificate() {
|
|
try {
|
|
var flag = containerManager.certType.value;
|
|
var cert = containerManager.certData.value;
|
|
var result = SKFKEY.SKF_ImportCertificate(con, flag, cert);
|
|
if(result == 0)
|
|
PrintInfo("导入成功");
|
|
} catch (e) {
|
|
PrintInfo(e.message);
|
|
}
|
|
}
|
|
|
|
function ExportCertificate() {
|
|
try {
|
|
var flag = containerManager.certType.value;
|
|
var result = SKFKEY.SKF_ExportCertificate(con, flag);
|
|
PrintInfo(result);
|
|
} catch (e) {
|
|
PrintInfo(e.message);
|
|
}
|
|
}
|
|
|
|
</script>
|
|
</head>
|
|
|
|
<body>
|
|
<div="root">
|
|
<header>
|
|
<div>
|
|
<h1 class="title">
|
|
SKF FisecKey demo
|
|
</h1>
|
|
<ul class="menu">
|
|
<li>
|
|
<a id = indexhtml onclick="reload()" href="../index.html?dev=0&app=0&con=0&conname=0">简介</a>
|
|
</li>
|
|
<li>
|
|
<a id = devhtml onclick="reload()" href="./devicemanager.html?dev=0&app=0&con=0&conname=0">设备管理</a>
|
|
</li>
|
|
<li>
|
|
<a id = apphtml onclick="reload()" href="./appmanager.html?dev=0&app=0&con=0&conname=0">应用管理</a>
|
|
</li>
|
|
<li>
|
|
<a id = authhtml onclick="reload()" href="./authmanager.html?dev=0&app=0&con=0&conname=0">访问控制</a>
|
|
</li>
|
|
<li>
|
|
<a id = filehtml onclick="reload()" href="./filemanager.html?dev=0&app=0&con=0&conname=0">文件管理</a>
|
|
</li>
|
|
<li>
|
|
<a id = containerhtml onclick="reload()" href="./containermanager.html?dev=0&app=0&con=0&conname=0" class='active'>容器管理</a>
|
|
</li>
|
|
<li>
|
|
<a id = servicehtml onclick="reload()" href="./service.html?dev=0&app=0&con=0&conname=0">密码服务</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</header>
|
|
<main>
|
|
<div class = "form1">
|
|
<form name = "containerManager">
|
|
<div class="form-group">
|
|
<div class="line">
|
|
<div class="lineleft">
|
|
<label class="labelhead" for="containername">容器名称</label>
|
|
</div>
|
|
<div class="lineright">
|
|
<input type="text" id="containername"/>
|
|
</div>
|
|
</div>
|
|
<div class="line">
|
|
<input class="btn" type="button" value="枚举容器" onclick="EnumContainer()" />
|
|
||
|
|
<input class="btn" type="button" value="创建容器" onclick="CreateContainer()" />
|
|
<input class="btn" type="button" value="删除容器" onclick="DeleteContainer()" />
|
|
||
|
|
<input class="btn" type="button" value="打开容器" onclick="OpenContainer()" />
|
|
<input class="btn" type="button" value="关闭容器" onclick="CloseContainer()" />
|
|
<input class="btn" type="button" value="获取容器类型" onclick="GetContainerType()" />
|
|
</div>
|
|
<div class="line"><div class="hrline"></div></div>
|
|
<div class="line">
|
|
<div class="lineleft">
|
|
<label class="labelhead" for="certType">证书类型</label>
|
|
</div>
|
|
<div class="lineright">
|
|
<select class="select" name="certTypeName" id="certType">
|
|
<option value="1">签名证书</option>
|
|
<option value="0">加密证书</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="line">
|
|
<div class="lineleft">
|
|
<label class="labelhead" for="certData">证书数据</label>
|
|
</div>
|
|
<div class="lineright">
|
|
<textarea class="textarea1" id="certData" cols="30" rows="10"></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="line-help">
|
|
<div class="help-tip">
|
|
<p>
|
|
输入的证书数据是PEM结构
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div class="line">
|
|
<input class="btn" type="button" value="导入证书" onclick="ImportCertificate()" />
|
|
<input class="btn" type="button" value="导出证书" onclick="ExportCertificate()" />
|
|
</div>
|
|
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</main>
|
|
</div>
|
|
<div class="footer">
|
|
<input type="button" class="footclear" value="清空" onclick="clearconsole()" />
|
|
<textarea class="footconsole" id="deviceManagerText" rows="8"></textarea>
|
|
</div>
|
|
</body>
|
|
</html>
|