如何做插件xydii.dlld的数字签名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何做插件xydii.dlld的数字签名相关的知识,希望对你有一定的参考价值。

参考技术A 1、 获得软件发行证书(测试)
一、找到或下载signcode.exe、makecert.exe和cert2spc.exe这三个程序,如果装了VS.NET的话,可以在其目录下找到,或者去微软网上下载也可以的。
二、:创建用于数字签名的公钥和私钥对,并将其存储在证书文件中。

输入makecert -sk lyl -n "CN=johnlya" c:\lyl.cer。
就会在你的C:生成lyl.cer文件。
说明:参数-n指定主题的证书名称。此名称必须符合 X.500 标准。最简单的方法是在双引号中指定此名称,并加上前缀 CN=;例如,"CN=myName"。注意这里的CN必须大写。-sk指定主题的密钥容器位置,该位置包含私钥。如果密钥容器不存在,系统将创建一个。输入makecert -?可以查看其他参数的用法。
三:创建发行者证书 (SPC)。
注意,发行者证书测试工具通过一个或多个 X.509 证书创建发行者证书 (SPC)。Cert2spc.exe 仅用于测试目的。可以从证书颁发机构(如 VeriSign 或 Thawte)获得有效的 SPC。
输入命令:cert2spc c:\lyl.cer c:\lyl.spc,在C:盘生成证书文件。至此,你已经拥有了仅用于测试的软件证书。其实,我们开发的程序或ActiveX控件只要仅用于企业内部,完全可以用这种办法作数字签名,使你的控件可以在浏览器里自动下载,而不必去专门的证书办法机构获得证书。
2、 创建CAB文件
CAB文件是一种WINDOWS的标准压缩格式文件,在网页上发布ActiveX的时候经常使用该压缩格式对文件进行包装,目的是使文件便于在Internet上传输。创建CAB文件的方法有很多,可以压缩工具CABARC.EXE。
也可不使用 CAB 文件而直接签名 DLL 和 OCX。CAB 文件的优势在于压缩,而且如果与 INF 文件一起使用,它可将所有必要的代码绑定在一起。
3、 签署文件
在上面打开的dos窗口里,输入如下命令:
signcode /spc c:\lyl.spc /k johnlya -t
至此,已经对成功对lyl.cab文件签名。可以查看文件的属性,查看数字签名。
4、注意一点:对于WINXP需要将Internet/工具/选项/高级里将允许和安装未授权的数字签名选项打上勾!

jSignature做手动签名,canvas支持触摸屏的签名涂鸦插件

整理的前面可以用的:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>签名记录</title>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui">
    <script src="__PUBLIC__/mob/js/jquery-1.9.1.min.js"></script>
    <script src="__PUBLIC__/mob/js/jq-signature.js"></script>
</head>
<style>
 *{padding:0;margin:0;}
 body{background:#eee;}
.contents{padding:10px; background:#fff; font-size:13px; color:#333; line-height:24px;}
 .form-label{line-height:40px; padding:5px;}
 .form-field{background:#fff;}
 .butt{padding:5px 10px;}
 .butt button{padding:10px 20px; background:#eee; border:none; border-radius:5px;}
 .inputsu{padding-bottom:10px;}
 .inputsu input{height:50px;line-height:50px;margin-left:10px; border:1px solid #c3c3c3; padding-left:5px;border-radius:5px; width:290px;}
 .subdiv input{width:98%;margin-left:1%;background:#0a8ddf;text-align:center;height:44px;line-height:44px; border:none;margin-top:10px;border-radius:5px;color:#fff;font-size:16px;}
 .wentitle{line-height:32px;font-size:14px;color:#333;text-align:center;background:#fff;border-bottom:1px solid #eee;}
 .headtop{height:10px;width:100%;background:#0a8ddf;}
 .bodybj{background:#000;height:100%;width:100%;position:fixed;opacity:.3;display:none;}
 .contents img{width:100% !important;height: auto !important;}
 .loading{
     width: 100%;
     height: 15px;
     margin: 0 auto;
     text-align: center;
     position:absolute;
     bottom:60px;
 }
 .loading span{
     display: inline-block;
     width: 15px;
     height: 100%;
     margin-right: 5px;
     background: lightgreen;
     -webkit-animation: load 1.04s ease infinite;
 }
 .loading span:last-child{
     margin-right: 0px;
 }
 @-webkit-keyframes load{
     0%{
         opacity: 1;
     }
     100%{
         opacity: 0;
     }
 }
 .loading span:nth-child(1){
     -webkit-animation-delay:0.13s;
 }
 .loading span:nth-child(2){
     -webkit-animation-delay:0.26s;
 }
 .loading span:nth-child(3){
     -webkit-animation-delay:0.39s;
 }
 .loading span:nth-child(4){
     -webkit-animation-delay:0.52s;
 }
 .loading span:nth-child(5){
     -webkit-animation-delay:0.65s;
 }
</style>
<body>
<div class="bodybj">
    <div class="loading">
        <span></span>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
    </div>
</div>
<div class="headtop"> </div>
<div class="wentitle">{$info["title"]}</div>
<div class="contents">
    {$info["content"]}
</div>
<label class="form-label">签名区(请在以下虚框区域内签名)</label>
<div class="form-field">
    <div class="container">
        <div class="js-signature" style="margin-left:10px; width:300px;" data-width="100"
             data-height="100px"
             data-border="1px dashed #ccc"
             data-background="#fff"
             data-line-color="#000"
             data-auto-fit="true">
        </div>
        <div class="butt">
        <button id="clearBtn" onclick="clearCanvas();">重签</button>
        <button id="saveBtn" onclick="saveSignature();" disabled>确认</button>
        </div>
         <div class="inputsu"><input type="text" name="username" placeholder="输入姓名"></div>
         <div class="inputsu"><input type="text" name="depart" placeholder="所在部门"></div>
        <input type="hidden" name="img" id="imgpic" >
        <input type="hidden" name="signid" value="{$info[\'id\']}" >
        <input type="hidden" name="type" value="{$type}" >
         <div id="signature" style="background:red;">
        </div>
    </div>
</div>
<div class="subdiv"><input type="button" class="submit" value="提交"></div>

<script type="text/javascript">
    $(document).on(\'ready\', function() {
        $(\'.js-signature\').jqSignature();
    });
    function clearCanvas() {
        $(\'#signature\').html(\'<p><em>Your signature will appear here when you click "Save Signature"</em></p>\');
        $(\'.js-signature\').jqSignature(\'clearCanvas\');
        $(\'#saveBtn\').attr(\'disabled\', true);
    }

    function saveSignature() {
    }
    $(\'.js-signature\').on(\'jq.signature.changed\', function() {
        $(\'#saveBtn\').attr(\'disabled\', false);
    });
    $(".submit").click(function() {
        $(".bodybj").show();
        $(\'#signature\').empty();
        var dataUrl = $(\'.js-signature\').jqSignature(\'getDataURL\');
        $.ajax({
            type: "post",
            url: "/Mob/index/uploadimg",
            data: {file:dataUrl},
            dataType: "json",
            success: function(data){
                if(data.code==1){
                    var img=data.msg;
                    var username=$("input[name=username]").val();
                    var depart=$("input[name=depart]").val();
                    var signid=$("input[name=signid]").val();
                    var type=$("input[name=type]").val();
                    if(username.length<1){
                        alert("请填写姓名");
                        $(".bodybj").hide();
                        return false;
                    }
                    if(depart.length<1){
                        alert("请填写部分");
                        $(".bodybj").hide();
                        return false;
                    }
                    $.ajax({
                        type: "post",
                        url: "/Mob/index/addsig",
                        data: {img:img,username:username,signid:signid,type:type,depart:depart},
                        dataType: "json",
                        success: function(data){
                            $(".bodybj").hide();
                            alert("签名成功!");
                            window.location.reload();
                        }
                    });

                }else{
                    $(".bodybj").hide();
                    alert("签名失败")
                }
            }
        });





    })

</script>

</body>
</html>

 可以借鉴:https://www.cnblogs.com/zhuyupingit/p/6650550.html 

以上是关于如何做插件xydii.dlld的数字签名的主要内容,如果未能解决你的问题,请参考以下文章

求CAD2008数字修改插件,将原有的数字加减快速修改。。。例如:“35”+10直接修改数字修改为“45”.

如何使用Gradle实验插件对64位Android APK进行代码签名?

如何在没有插件的情况下在 Jquery 中格式化数字? [复制]

cad中数字求和插件FastDWG的使用教程

用于捕获签名的 Firefox 插件(通过手写笔/平板电脑)

如何在dataTables中将数字数据右对齐