如何做插件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 中格式化数字? [复制]