文档库 最新最全的文档下载
当前位置:文档库 › 如何给jar包进行数字签名

如何给jar包进行数字签名

如何给jar包进行数字签名
如何给jar包进行数字签名

目的:

为了使Applet或者Java Web Start程序能够访问客户端本地资源,需要对Applet或者JWS程序jar包进行数字签名,之后客户端打开Applet或者JW S程序的时候会提示是否允许该程序访问本地资源,用户如果要用你的程序,当然只能选择OK了。这样你的程序就能按照某种访问权限来访问客户机的本地资源了。

签名步骤:

1.将程序打成jar包。

这个我就不多说了,用eclipse,netbeans等开发工具很方便就能打包的。

2.用keytool命令生成.store文件。

在任意文件夹下建立一个keytool.bat文件,输入

keytool -genkey -keystore xxx.keystore -alias xxx -validity 3650

保存,双击执行。将在当前目录下生成一个xxx.keystore文件,-alias 后接的是别名,-validity后面接的是该证书有效天数,这里3650表示10年。(用这个证书签名的程序10年内有效)。

3.用jarsigner程序对jar包进行签名。

新建jarsinger.bat文件,输入

jarsigner -keystore xxx.keystore helloworld.jar xxx

这样helloworld.jar就被签名了。

applet应用程序的数字签名应用实战

最近在研究applet,打算使用applet来开发一个上传文件上传控件,之前因为一直觉得applet的沙箱控制导致applet不能主动的访问客户端的资源,所以也曾因此而放弃.不过最近在研究applet 的签名后,有了点收获,可以通过签名jar文档来达到这样的控制策略,下面是我在实际实验过程中的一些心得和体会,跟大家一起分享下.(注:如果转载此文,请注明出处和作者,尊重作者的劳动成果,谢谢)

一、压缩你的class类文件为jar包

1.假设你的需要压缩的类文件存在的包为:cn.mbq.test1和cn.mbq.test2

2.进入你的classes目录,在DOS窗口中执行命令:jar cf mytest.jar cn.mbq.test1 cn.mbq.t est2

3.执行命令后你会在当前目录中找到mytest.jar文件,这个就是刚才生成的档案文件。你可以修改它的后缀为rar,然后使用winrar压缩程序打开它查看看是否正确。

二、使用keytool工具生成密匙库

1.keytool工具位于${java_home}/bin目录下;

2.在DOS窗口中执行命令:keytool -genkey -keystore mytest.store -alias mbq

注意:mytest.store 是你的密匙库的名称,可以随意修改,后缀请不要修改!

mbq 为别名,这个也可以改成自己的名称

3.执行上述命令后,DOS窗口中会提示你输入keystore的密码、你的姓名、组织单位等等信息。这里要注意的是输入密码请记住,后面要用到的。在最后,我们输入y确认信息。然后再直接回车设置mbq的主密码和store密码一致即可!

三、使用keytool工具导出签名时用到的证书

1.在DOS窗口中执行命令:keytool -export -keystore mytest.store -alias mbq -file mbq.cert 注意:mytest.store 就是第二步生成的密匙库名称

mbq 也是在第二步中我们指定的别名

mbq.cert 为我们生成的证书的名称,可以自己修改名称,注意后缀不要改

2.命令执行成功,我们会在当前目录下找到一个mbq.cert文件,这个就是我们刚才生成的证书。

四、使用jarsigner工具签名jar压缩文档

1.jarsigner工具位于${java_home}/bin目录下;

2.在当前DOS窗口中执行命令:jarsigner -keystore mytest.store mytest.jar mbq

注意:mytest.store 就是我们在第二步中生成的密匙库名称

mytest.jar 就是我们这第一步压缩的jar文档

mbq 是提供者的名称,我们这里设置为我们的别名

五、创建mytest.policy文件

1.在当前目录下创建一个mytest.policy文件,其内容如下:

keystore"file:mytest.store","JKS";

grantsignedBy"mbq"

{

permission java.io.FilePermission"<>","read";

};

2.这个文件的意思就是说让所有由mbq签名的applet都可以对本地的所有文件进行读操作。

六、归档文件

通过上述的五个操作后,我们会在当前目录中找到如下几个文件:mytest.jar-签名后的jar文档、mytest.store-密匙库、mbq.cert-证书、mytest.policy-访问策略文件。如果没有这些文件,那么你的applet数字签名过程就没有正确的完成,请检查上述的操作。以后,如果对打包的jav a文件做了修改,那么就需要重新签名一次才可以!

七、在网页中运行applet

1.假设你的applet中的主启动类为:cn.test.TestApplet.class;整个前面生成的档案文件、证书

啊存储在目录:d:\test\myapplet下;

2.建立一applet_test.html文件存放在任何目录下都可以,然后内容如下:

Java代码

1. 1 ...

2. 2 ...

3. 3

VE="mytest.jar" WIDTH=200 HEIGHT=100 name="myapp">

4. 4

5. 5

6. 6

注意:其中的CODEBASE就是你的类的基础目录,CODE也就是你的APPLET的启动主类,ARCHIVE也就是签名后的JAR文档。

2.然后在IE中打开该html文件,那么会看到IE提示你是否信任该插件,也就是说我们的证书起作用了,然后确定运行后,就可以在页面上看到applet的运行效果了。

但是由于SUN和MS的问题,目前IE并不支持最新的JRE,而是使用MS自己开发的JRE,所以这个也是影响APPLET发展壮大的一个原因。而且正是由于这个原因,SUN的java-plugi n技术才会出现。使用SUN的java-plugin技术我们就可以在applet中使用最新的JAVA类库了。由于IE在遇到APPLET标签的时候会调用自己的JRE,但是如果客户机器上安装的JRE不是我们想要的版本,那么就会出错了。所谓java-plugin技术就是利用IE的插件机制来制定我们想要的JRE,我们可以在IE中使用OBJECT标签来调用APPLET,这样就不会引用MS的JRE 了,从而达到我们想要的效果,而且java-plugin技术不仅仅支持IE,还支持Navigator等浏览器。不过我们需要编写比较复杂的HTML代码了,但是这一且SUN已经帮我们做到了,呵呵,在JDK1.4或更高的版本中SUN提供了一个HtmlConverter.exe工具来帮助将包含applet标签的html转换成包含OBJECT和EMBED标签的html代码,该工具位于${java_home}/bin目录下,对于1.4以前的版本该工具则是单独提供的,不过现在几乎都是1.4或1.5甚至更高版本的JDK了吧,呵呵。

该工具很简单,是图形化的工具,我们直接运行即可。比如我将上面的包含applet的html

转换后(比如我选择只支持IE的),其代码变成了如下:

Java代码

1. 01 ...

2. 02 ...

3. 03

4. 04

5. 05

6. 06 classid = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"

7. 07 codebase = "https://www.wendangku.net/doc/ca9245085.html,/update/1.5.0/jinstall-1_5-windows-i586.cab#Version=5,0,

0,3"

8. 08 WIDTH = 200 HEIGHT = 100 NAME = "myapp" >

9. 09

10. 10

11. 11

12. 12

13. 13

14. 14

15. 15

16. 16

21. 21

22. 22

23. 23

注意其中的OBJECT标签,可以看到APPLET标签已经被注释掉了。其中PARAM NAME= NAME这一行中的myapp就是我们applet应用程序的名称,在IE提示的确认运行中显示的就是这个名称了,我们可以改为自己的公司或组织的名称。然后提示的提供者也就是我们在签名时用到的名称了。

另外,还要特别注意的就是这个包含OBJECT标签的html页面必须和你的mytest.jar压缩文档放在同一个目录下,这样才可以正确的加载,否则会一直报ClassNotFound的异常的,即使我们在OBJECT标签中指定了CODEBASE也不行,这个是我在测试的时候遇到的问题!

八、在Internet上应用签名的applet

如果要把applet部署在网络上,那么最好是采用OBJECT标签的形式,同时也要兼顾采用E MBED标签来支持诸如FF等浏览器。我们把已签名了的mytest.jar和我们的网页放在同一个目录下,至于其他的如mytest.store和mbq.cert可以不用放在一起,至少我在测试的过程中没有放到一起也不会出错,而且在不同的机器上运行的也非常好,可以读取客户端机器的资源!另外,也发现mytest.policy其实也没什么用处,因为这是参考网络上的,而且他们的版本都是1.3左右,所以估计是版本低的缘故吧!

到此,我们就已经完成了applet的签名到部署,以及到实际的网络应用中了。这样我们使用applet来开发控件时就不会因为无法读取客户端资源而放弃了,呵呵~~

信息安全之电子签名技术的实现

滨江学院 课程论文 题目数字签名的发展 院系计算机系 专业软件工程(动画方向)学生姓名陈婷 学号20092358009 指导教师朱节中 职称副教授 二O一二年五月二十日

数字签名的发展 陈婷 南京信息工程大学滨江学院软件工程(动画方向),南京210044 摘要: 数字签名是电子商务安全的一个非常重要的分支。随着电子商务的发展,电子签名的使用越来越多。实现电子签名的技术手段有很多种,但比较成熟的、世界先进国家目前普遍使用的电子签名技术还是基于PKI的数字签名技术。 关键词: 数字签名信息安全电子商务 1引言 1.1 研究背景 在当今信息社会,计算机网络技术得到了突飞猛进的发展。计算机网络日益成为工业、农业和国防等领域的重要信息交换手段,并逐渐渗透到社会的各个领域。在现实生活中,人们常常需要进行身份鉴别、数据完整性认证和抗否认。身份鉴别允许我们确认一个人的身份;数据完整性认证则帮助我们识别消息的真伪、是否完整;抗否认则防止人们否认自己曾经做过的行为。随着无纸化办公的发展,计算机网络的安全越来越受到重视,防止信息被未经授权的泄漏、篡改和破坏等都是亟待解决的问题。在Internet上,数字签名作为一项重要的安全技术,在保证数据的保密性、完整性、可用性、真实性和可控性方面起着极为重要的作用。同时由于信息技术的发展及其在商业、金融、法律等部门的普及, 数字签名技术又面临着新的挑战。 1.2 开发意义 数字签名是实现电子交易安全的核心技术之一,它在实现身份认证、数字完整性、不可抵赖性等功 能方面都有重要应用。尤其是在密钥分配、电子银行、电子证券、电子商务和电子政务等许多领域有重要 的应用价值。 2相关技术介绍 2.1PKI/CA 技术的介绍 PKI 就是公开密钥基础设施。它是利用公开密钥技术所构建的,解决网络安全问题的,普遍适用的一种基础设施。公开密钥技术也就是利用非对称算法的技术。说PKI 是基础设施,就意味着它对信息网络的重要。PKI 通过延伸到用户本地的接口,为各种应用提供安全的服务,如认证、身份识别、数字签名、

两个基于RSA的特殊数字签名方案

龙源期刊网 https://www.wendangku.net/doc/ca9245085.html, 两个基于RSA的特殊数字签名方案 作者:蒋俊锋 来源:《电脑知识与技术》2008年第35期 摘要:介绍了数字签名背景、签名体制的形式化描述以及两个特殊的数字签名方案。对如何用RSA实现盲签名和多重数字签名方案进行了研究,分析了两种具体方案实现的安全性。最后总结了这两种特殊数字签名实现过程中算法设计的优劣。 关键词:数字签名;RSA;盲签名;多重签名 中图分类号:TP316文献标识码:A文章编号:1009-3044(2008)35-2095-02 Two RSA-based Special Digital Signature Schemes JIANG Jun-feng (Engineering of Information Hohai University,Changzhou 213022,China) Abstract: The background, the formal definition and some special form of digital signature are firstly introduced.The research of how to realize the blind signature and the multisignature with RSA signature scheme are carried out secondly. The virtue and shortcoming of the two realized special digital signature schemes and the research to be continued are lastly put forward. Key words: digital signature;RSA;blind signature;multisignature 1 引言 1.1 背景 签名一直被作为一种证明签名者身份的标识,它表明签名人看过乃至同意文件的内容。签 名人作出签名后将无法否认,并要为自己的签名负责。随着密码学的发展,数字签名(digital signature)克服了手写签名的缺点。数字签名[1]具有签名可信性、不可抵赖性、不可复制性、 不可伪造性和数据完整性的优点。2004年8月我国正式颁布了《中华人民共和国电子签名法》,确立了数字签名在我国的法律效力和地位。 1.2 数字签名的形式化定义

数字签名的制作方法整理-10页word资料

1。用keytool来创建一个密匙(同时指定时效,多久会过期,默认只给6个月) 2。用JARSigner用此密匙为JAR签名。 可以用同一个密匙来为多个JAR签名。 注意:大小写,签名一致,数字签名过期 为什么JAR要被签名?当用户启动一个Java Network Launching Protocol (JNLP,Java网络加载协议)文件或使用一个applet时,这个JNLP或applet可能请求系统提供一些非一般的访问。比如“文件打开”等进行这样的请求,就需要签名的JAR。 如果它是匿名的,系统会询问用户是否打算信任JAR的签署者。 1.首先生成签名文件,执行完成后,会在本目录内生成一个.keystore的密钥文件,2kByte大小。 yourProj是别名keypass后面是密文密码,keystore密码是存储密码(要改变此文时需要输入确认此密码) 在dos命令提示状态下输入 C:\Documents and Settings\Administrator>keytool -genkey -alias yourProj -keypass yourCompany:Kouling [回车],屏幕提示: 输入keystore密码:yourCompany:yourPassword 您的名字与姓氏是什么? [Unknown]:ChinayourCompany 您的组织单位名称是什么? [Unknown]:ChinayourCompany 您的组织名称是什么? [Unknown]:Company 您所在的城市或区域名称是什么? [Unknown]:City 您所在的州或省份名称是什么? [Unknown]:Province 该单位的两字母国家代码是什么 [Unknown]:CN CN=ChinayourCompany, OU=ChinayourCompany, O=Company, L=City, ST=Province, C=CN 正确吗? [否]:Y 2.为此密钥加有效期限:7200天,将近20年. [嘿嘿,足够用了吧?再也别想6个月] 输入命令: C:\Documents and Settings\Administrator>keytool -genkey -alias yourProj -keypass yourCompany:Kouling -selfcert -validity 7200 屏幕提示: 输入keystore密码:yourCompany:yourPassword 注意:-validity 7200 这个就是加时效的参数,7200单位是“天”。 检查密钥文件,输入命令: C:\Documents and Settings\Administrator>keytool -list 屏幕提示: 输入keystore密码:yourCompany:yourPassword Keystore 类型:jks

手机银行数字签名实现方案

手机银行数字签名实现方案中国工商银行股份有限公司山东省分行 李顺吉 张昆 刘伟 普通数字签名广泛应用于银行的各类系统中,例如网上银行客户可以用U盾对缴费信息进行数字签名,以确保信息的完整性、保密性、不可否认性。但是手机银行则不同,受硬件环境的约束更加严格:不够强大的CPU、较小的内存,电池功耗受限等特点使其运算能力较低,不同输入设备使用的U盾类硬件设备接口也无法统一。各大银行目前均没有实现支持所有型号手机的数字签名系统,而普通口令卡因为安全性有限从而限制了支付额度。笔者根据手机银行特点,在基于身份的数字签名的基础上,结合门限密钥共享思想,将身份签名体制中的私钥进行拆分,提出无需证书的新型手机银行数字签名方案,使得手机银行客户仅通过口令即可对信息进行数字签名。 一、签名方案背景知识及系统参数介绍 1.基于椭圆曲线的密码系统 首先介绍循环群这一数学概念:一个非空集合G在二元运算乘法下满足结合律(对任意属于G的元素a、b、c都有(a*b)*c=a*(b*c));存在单位元e(任意属于G的元素a都有e*a=a*e=a);任意属于G的元素a均有逆元(存在属于G的元素b,使a*b=e);G中的某个元素g通过与自身的*运算生成了G中的所有元素,g记为生成元,这样的代数系统记为循环群。例如:任取素数q,小于等于q的正整数构成循环群,1为单位元,循环群中任意非单位元x均可作为生成元,对1≤i≤q,xi(mod q)的值恰好就是循环群中的所有元素。 q为素数,方程y2=x3+ax+b(mod q)的所有整数解(x,y)记为椭圆曲线上的点。下面的小写字母全部代表整数,大写字母代表椭圆曲线上的点。对点P及整数m<q,存在另一点Q满足点乘运算为Q=mP,存在另一点R满足点加运算R=P +Q。椭圆曲线模素数的整数解在点加和点乘运算下均构成循环群,点加循环群记为G。简单地说,l为一小正整数,合适的q元素下,y2=x3+ax+b(mod ql)的部分整数解也形成循环群,其点乘循环群记为V,则存在映射e:G×G->V记为双线性映射。双线性映射满足:①双线性性: 对任意G上的P,Q,R有e(P,Q+R) =e(P,Q)*e(P,R),e(P+Q,R)=e(P,R)*e(Q,R),由此可知,对所有G上点P,Q和所有a,b≤q,满足e(aP,bQ)=e(P,Q)ab; ②非退化性: 存在G上点P,Q使得e(P,Q)不等于V的单位元;③可计算性: 对任意G上点P,Q,存在着高效算法来计算e(P,Q)。笔者可以用超奇异椭圆曲线上的weil对或者改造的Tate对构造双线性映射。当q >2160时,上述椭圆曲线系统满足下列密码学性质。 离散对数问题:给定G上点P,Q,找出整数n,使得Q=nP是困难的。 CDH问题:给定三元组(P,aP,bP),对整数a,b,找出abP。 DDH问题:给定四元组(P,aP,bP,cP),整数a,b,c, c=ab(mod q)是否成立。 GDH问题:这是一类CDH问题难解,但是DDH问题易解的问题。 GDH群:CDH难解,DDH易解的群。上述椭圆曲线上的点就是GDH群。

两种数字签名方案

两种数字签名技术 0902班贺信学号: 1.数字签名的基本概念 1.1 数字签名的定义 所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,目前主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir 数字签名算法、DES/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。 1.2 数字签名的基本要求 身份鉴别允许我们确认一个人的身份;数据完整性认证则帮助我们识别消息的真伪、是否完整;抗否认则防止人们否认自己曾经做过的行为。数字签名技术用来保证信息的完整性。“数字签名”是通过一个单向函数对要传送的报文进行处理后得到的,用以认证报文来源并

核实报文是否发生变化的一个字母数字串。数字签名可以解决否认、伪造、篡改及冒充等问题。类似于手书签名,数字签名也应满足一下基本要求: 1)收方能够确认或证实发方的签名,但不能伪造签名。 2)发方向收方发出签名的消息后,就不能再否认他所签发的消息,以保证他不能抵赖之前的交易行为。 3)收方对已收到的签名信息不能否认,即有收报认证。 4)第三者可以确认收发双方之间的信息传递,但不能伪造这一过程。 1.3 数字签名的原理 数字签名是通过密码技术对电子文档的电子形式的签名,并非是书面签名的数字图像化。它类似于手写签名或印章,也可以说它就是电子印章。我们对一些重要的文件进行签名,以确定它的有效性。但伪造传统的签名并不困难,这就使得数字签名与传统签名之间的重要差别更加突出:如果没有产生签名的私钥,要伪造由安全密码数字签名方案所产生的签名,计算上是不可行的。人们实际上也可以否认曾对一个议论中的文件签过名。但是否认一个数字签名却困难得多,这样做本质上证明在签名生成以前私钥的安全性就受到危害。这是由于数字签名的生成需要使用私钥,而它对应的公钥则用以验证签名。因而数字签名的一个重要性质就是非否认性,目前已经有一些方案,如数字证书,把一个实体(个人,组织或系统)的身份同一个私钥和公钥对"

RSA算法和RSA数字签名算法的实现

RSA算法和RSA数字签名算法的实现* 顾婷婷李涛 (四川大学计算机系(西区) 成都610065) 摘要RSA算法是一种公钥密码算法.实现RSA算法包括生成RSA密钥,用RSA加密规则和解密规则处理数据。RSA数字签名算法利用RSA算法实现数字签名。本文详述了RSA算法的基本原理, RSA 加密算法的实现以及如何利用RSA实现数字签名. 关键字RSA算法, 数字签名, 公开密钥, 私人密钥, 加密, 解密 中图分类号TP301 一、引言 随着网络技术的飞速发展,信息安全性已成为亟待解决的问题。公钥密码体制中,解密和加密密钥不同,解密和加密可分离,通信双方无须事先交换密钥就可建立起保密通信,较好地解决了传统密码体制在网络通信中出现的问题。另外,随着电子商务的发展,网络上资金的电子交换日益频繁,如何防止信息的伪造和欺骗也成为非常重要的问题。数字签名可以起到身份认证、核准数据完整性的作用。目前关于数字签名的研究主要集中基于公钥密码体制的数字签名。 公钥密码体制的特点是:为每个用户产生一对密钥(PK和SK);PK公开,SK保密;从PK推出SK是很困难的;A、B双方通信时,A通过任何途径取得B的公钥,用B的公钥加密信息。加密后的信息可通过任何不安全信道发送。B收到密文信息后,用自己私钥解密恢复出明文。 公钥密码体制已成为确保信息的安全性的关键技术。RSA公钥密码体制到目前为止还是一种认可为安全的体制。本文详述了RSA算法和用RSA算法实现数字签名的理论,以及它们在实际应用中的实现。 二、RSA算法和RSA数字签名算法的理论描述 1 RSA算法 RSA算法的理论基础是一种特殊的可逆模幂运算。 设n是两个不同奇素数p和q的积,即:n=pq, ?(n)=(p-1)(q-1)。 定义密钥空间 k={(n,p,q,d,e)|n=pq,p和q是素数,de≡1 mod ?(n),e为随机整数}, 对每一个k=(n,p,q,d,e), 定义加密变换为E k(x)=x b mod n,x∈Z n; 解密变换为D k(x)=y a mod n,y∈Z n,Z n为整数集合。 公开n和b,保密p,q和a. 为证明加密变换E k和解密变换 D k满足D k(E k(x))=x,这里不加证明的引用下面两个定理: 定理1(Euler)对任意的a∈Z n*,有a?(n)≡1 mod n,其中Z n*={x∈Z n|gcd(x,n)=1},?(·)表示Euler函数。 定理2 设p和q是两个不同的素数,n=pq, ?(n)=(p-1)(q-1),对任意的x∈Z n及任意的非负整数k,有 x k?(n)+1≡x mod n. 现在来证明RSA算法的加密变换和解密变换的正确性。 证明:对于加密变换E k和解密变换D k。因为ab≡1 mod ?(n),所以可设ab=t?(n)+1,t *本文受国家自然科学基金以及四川省学术带头人基金的资助。 顾婷婷,硕士生,李涛,教授,主要研究领域:人工智能与神经网络。

两种数字签名方案

两种数字签名技术 0902班贺信学号:14092400635 1.数字签名的基本概念 1.1 数字签名的定义 所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,目前主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir 数字签名算法、DES/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。 1.2 数字签名的基本要求 身份鉴别允许我们确认一个人的身份;数据完整性认证则帮助我们识别消息的真伪、是否完整;抗否认则防止人们否认自己曾经做过的行为。数字签名技术用来保证信息的完整性。“数字签名”是通过一个单向函数对要传送的报文进行处理后得到的,用以认证报文来源并

核实报文是否发生变化的一个字母数字串。数字签名可以解决否认、伪造、篡改及冒充等问题。类似于手书签名,数字签名也应满足一下基本要求: 1)收方能够确认或证实发方的签名,但不能伪造签名。 2)发方向收方发出签名的消息后,就不能再否认他所签发的消息,以保证他不能抵赖之前的交易行为。 3)收方对已收到的签名信息不能否认,即有收报认证。 4)第三者可以确认收发双方之间的信息传递,但不能伪造这一过程。 1.3 数字签名的原理 数字签名是通过密码技术对电子文档的电子形式的签名,并非是书面签名的数字图像化。它类似于手写签名或印章,也可以说它就是电子印章。我们对一些重要的文件进行签名,以确定它的有效性。但伪造传统的签名并不困难,这就使得数字签名与传统签名之间的重要差别更加突出:如果没有产生签名的私钥,要伪造由安全密码数字签名方案所产生的签名,计算上是不可行的。人们实际上也可以否认曾对一个议论中的文件签过名。但是否认一个数字签名却困难得多,这样做本质上证明在签名生成以前私钥的安全性就受到危害。这是由于数字签名的生成需要使用私钥,而它对应的公钥则用以验证签名。因而数字签名的一个重要性质就是非否认性,目前已经有一些方案,如数字证书,把一个实体(个人,组织或系统)的身份同一个私钥和公钥对

数字签名技术的实现

软件职业技术学院 课程设计实验报告 课程名称:网络安全 题目:数字签名技术

目录 (一)主要内容 (3) (二)目的和意义 (3) 二、数字签名的概念 (4) (一)数字签名的定义 (4) (二)数字签名的原理 (4) 三、RSA数字签名系统的实现 (6) (一)RSA数字签名所需实现的功能 (6) (二)主要模块流程图 (6) 四、数字签名的前景展望 (9) 结束语 (10) 参考文献 (11)

一、引言 (一)主要内容 数字签名(Digital Signature)技术是非对称加密算法的典型应用。数字签名的应用过程是,数据源发送方使用自己的私钥对数据校验或其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”,数据接收方则利用对方的公钥来解读收到的“数字签名”,并将解读结果用于对数据完整性的检验,以确认签名的合法性。数字签名技术是在网络系统虚拟环境中确认身份的重要技术,完全可以代替现实过程中的“亲笔签字”,在技术和法律上有保证。在数字签名应用中,发送者的公钥可以很方便地得到,但他的私钥则需要严格保密。 (二)目的和意义 随着信息技术和计算机网络技术的发展,其应用涉及到政府、军事、文教、商业、金融等诸多领域。如商业经济信息系统、政府机关信息系统、银行业务系统、证券业务系统、科研数据传输等,这些系统都涉及到机密信息的传输与存储。信息时代虽然带给我们无限的商机与方便,但也充斥着隐患与危险。由于网络容易受到攻击,导致机密信息的泄密,轻则引发企业、部门工作陷于瘫痪而造成巨大的经济损失,重则危及国家、军事安全和社会稳定。所以网络信息安全已成为保证国民经济信息化建设健康发展的基础,直接关系到国家的安全,其影响重大。如何保证机密信息不泄漏,鉴别信息来源的真实性,确保信息的完整性和不可抵赖性,就是网络信息安全研究需要解决的问题。网络安全的目标应当满足:身份真实性、信息机密性、信息完整性、服务可用性、不可否认性、系统可控性、系统易用性、可审查性等等。数字签名技术是网络安全的重要手段之一,它可以保证信息完整性、鉴别发送者的身份真实性与不可否认性;再运用数字签名本身的基础技术如加密技术可以保证信息机密性;如再运用审计日志的办法,可完成可审查性的功能。数字签名技术是当前网络安全领域的研究热点。数字签名的特性及可防御的网络威胁可以概括为:身份鉴别,可鉴别信源的真实性而防止冒充;数据完整性保护,抵御数据的篡改或重排;不可抵赖性,信源事后不可否认以防止其抵赖;一般还使用加密技术保护信息机密性,以防截听攻击;加入流水号等技术,可防重放攻击。所以,数字签名技术满足网络安全的目标即身份真实性、信息机密性、信息完整性、服务可用性、不可否认性、系统可控性、系统易用性、可审查性等等。特别是其身份鉴别、数据完整性和不可抵赖性在电子商务、电子政务等应用领域中有很重要的作用[1]。作为网络安全的关键性技术之一,数字签名在社会生活的各个领域也都具有十分广阔的应用前景。可见,数字签名技术十分具有研究价值,并具有重要的研究意义

PDF数字签名

制做PDF文件电子签名的方法 1、在一张白纸上写一个您最得意的签名,并扫描或用数码像机将签名转为图片文件; 2、用photoshop打开上面做好的签名图片文件,裁切成刚好能容纳您签名的大小,并 去掉图片的背景颜色(方法详见后附),将处理好的图片另存为.GIF 图片格式文件待用;3、打开Adobe Acrobat 9 Pro (本制做方法适用于Adobe Acrobat 9 Pro 版本,其它 版本请做相应调整),任意新建一个PDF文件; 4、点击Adobe Acrobat 9 Pro 工具栏中的“签名”—“放置签名”,并用鼠标在新建的 那个PDF文件中画一个长方形的签名区(名字相签多大就画多大); 5、在随后弹出的窗口中选择“我要立即创建新的数字签名”,并点“下一步”; 6、在下一个窗口选择“新建PKCS#12数字身份证文件”,并点“下一步”; 7、在弹出的新窗口中输入“姓名”、“部门”,“单位名称”,“电子邮件地址”(以上这些 都只能输英文或拼音,不支持汉字);然后选择国家并点“下一步”; 8、在接下来弹出的窗口中选择电子签名文件制做好后要存放的文件夹,输入并确认您 以后签名时验证身份要用的密码;最后点击“完成” 9、在“签名文档”窗口中的“签名为:”档中选择“新建ID”,在“外观(A):”栏选择“创建新外观…”; 10、弹出的“配置签名外观”窗口中的标题栏输入这类签名的标识,例:“无日期签名” 等等;在“配置图形”--“显示:”中选择“导入的图形(I)”并点击“文件(F)…”; 从“选择图片”窗口的“浏览(B)…”中找到第2步制做好的图片文件并点“确定”返回;这时您就可以“配置签名外观”窗口的“预览”栏中看见您手写的签名了;您也会看到,除了您的签名外,它后面还跟着一些其它信息;这些信息是通过“配置文本”-“显示:”后面的选择项来控制的,您可以根据您的签名需要选择; 11、至此,点“确定”后,您的电子签名就算制做完成了,以后在签名时,只需重复第 4步并输入密码就OK了! 12、如果需要在签名时同时输入签名“原因”,就需要在“配置签名外观”窗口的“配 置文本”选项中勾选上“原因”,点击“确定”完成电子签名制做后,再在“编辑”菜单栏选择“首选项”—“种类”—“安全性”—“高级首选项”—“创建”标签中勾选“签名时显示原因”。这样,以后签名时就可以输入您的签名“意见”(原因)了; 13、如果您对刚才制做的这个签名不满意,可以在Adobe Acrobat 9 Pro 工具栏中的“高级”—“安全性设置”,中删除这个数字身份证;如果你想对制做好的签名做一个备份,以后电脑系统重装后可以直接导入使用,您也可以在这个窗口中将您制做好的“数字身份证”导出保存。 14、对于您不满意的签名外观,可以在“编辑”菜单栏选择“首选项”—“种类”—“安全性”—“外观”栏中进行“编缉”或“删除”;也可以在此处应用“新建”按钮直 名人堂:众名人带你感受他们的驱动人生马云任志强李嘉诚柳传志史玉柱 接创建一个新的签名外观。

给PDF文件加上数字签名

給PDF文件加上數字簽名 准備條件: 1. 需要一個pfx的証書文件 怎麼樣產生這個PDF的証書文件呢? a、从CA获得 如果是商业应用最好从证书的签发机构CA获得证书,比如V eriSign,这样的大的CA 签发的证书已经被一些系统默认为可信任的证书签发机构,它所签发的证书也是被信任的。但是这样的证书需要购买。 如果不是商业应用,这里推荐一个可以免费申请证书的CA:https://www.wendangku.net/doc/ca9245085.html, b、从windows2003证书服务中获得 在windows2003中安装证书服务器,windows2003服务器即可当做一个小型的CA,可以申请签发证书。 c、使用makecert工具获得(仅用于测试目的的X.509 证书) 微软在framework SDK中提供了一个生成X.509数字证书的命令行工具Makecert.exe。 Makecert生成证书被保存到命令中指定的证书存储区。 比如使用下面这个命令生成一个证书: makecert -r -pe -n "CN=PLMM" -b 01/01/2005 -e 01/01/2010 -sky exchange -ss my 参数说明: -sr CurrentUser //指定主题的证书存储位置。Location 可以是currentuser(默认值)或localmachine-ss My //指定主题的证书存储名称,输出证书即存储在那里。My表示保存在“个人”-n CN=MyTestCert //指定主题的证书名称。此名称必须符合X.500 标准。最简单的方法是在双引号中指定此名称,并加上前缀CN=;例如,"CN=myName"。-sky exchange //指定颁发者的密钥类型,必须是signature、exchange 或一个表示提供程序类型的整数。默认情况下,可传入 1 表示交换密钥,传入 2 表示签名密钥。-pe //将所生成的私钥标记为可导出。这样可将私钥包括在证书中。 这个命令生成一个名字为MyTestCert的证书,被保存到了当前用户的个人证书存储区内。 Makecert命令的详细说明请参看微软Makecert.exe工具的文档:https://www.wendangku.net/doc/ca9245085.html,/library/chs/default.asp?url=/library/CHS/cptools/html/cpgrfcertificatecr eationtoolmakecertexe.asp 這個時候你就可以在IE工具欄菜單工具>選項>內容>憑証>個人下看到一個PLMM 的憑証,這個時候你可以把這個憑証導出來產生一個PFX文件即可. 正式的時候請到官方去申請PFX文件...... 2. 需要引用itextsharp.dll文件 a. 所使用到iTextsharp中的對象及方法說明: PKCS12Store : 証書文件(這里對應的是pfx的証書文件) PdfStamper : PDF文件對象(這里就當成一個PDF文件吧) PdfSignatureAppearance : 給PDF簽名的對象 PdfSignatureAppearance.SetCrypto : 將証書文件邦定到PDF檔 PdfSignatureAppearance.Reason : 設置數字簽名的理由 PdfSignatureAppearance.Contact : 設置數字簽名的簽署者聯絡資訊 PdfSignatureAppearance.Location : 設置數字簽名的位置 b. 產生步驟:

该证书有一个无效的数字签名的原因和解决方法

在网页弹出该网站的安全证书有问题后,我们点击查看证书会看到这种错误消息:该证书有一个无效的数字签名。这是什么意思呢?该如何解决呢? 数字签名又称公钥数字签名、电子签章,就是证书颁发机构盖在数字证书上的一个章或印,用来证明某个消息或文件是本人发出/认同的,并未被修改。该证书有一个无效的数字签名,可能是由于以下原因造成的: ·该证书是自签名SSL证书 ·该证书是被更改过密钥的旧/过期证书 ·该证书不是由受信任的证书颁发机构颁发的 以上情况均可能导致该证书有一个无效的数字签名。那么,有什么方法可以解决这个问题呢? 方法一:停止使用自签名SSL证书 1024位RSA非对称密钥对已经不安全了,而目前几乎所有自签证书都是1024位,自签根证书也都是1024位。因此,很多浏览器和操作系统都不认可自签名证书,会发出安全警告,显示该证书有一个无效的数字签名。 推荐使用受信任的CA机构提供的免费且安全的SSL证书,如数安时代GDCA就有免费ssl证书可以申请。

方法二:修改浏览器设置 关闭数字签名检查,也可以避免出现“该证书有一个无效的数字签名”。你需要更改Internet选项中的某些设置,Internet Explorer——工具——Internet 选项——高级,然后拖到下面,勾选“允许运行或安装软件,即使签名无效”,单击“确定”按钮即可。不过为了安全起见,不推荐使用这个方法。 方法三:安装权威受信任的SSL证书 解决“该证书有一个无效的数字签名”最好的方法是,安装部署受信任的CA机构颁发的ssl证书。受信任的CA机构是指已在Windows根证书计划的成员列表中,并且将根证书入根到Firefox、Chrome、IE等各大浏览器中,国

PDF签名及数字证书配置详细教程

PDF签名及数字证书配置详细教程 本文解决问题:数字签名的优点有哪些?怎么进行数字签名?数字签名的流程是?如何安装证书? 数字签名与传统的手写签名一样,必须验证签署文件中签名人身份的真实性。采用数字签名文件必须确认以下两点:一是文件的确是由签名者签署;二是文件内容自签发后到收到为止未曾作过任何修改。在Acrobat中,如果需要对某个文档进行数字签名,那签名人必须首先具 有一个指定的数字身份,数字身份就像身份证一样,这个数字身份可以自己创建,也可以由可信的第三方供应商提供。在Acrobat中提供了三种数字证书的创建方法: 第一种方法:使用缺省的安全证书方式自行创建数字身份,创建的数字身份文件被存储成后缀为.Pfx文件,在这种方式下,可以选择由密码来保护数字身份文件,这种方 式只适合小规模企业,在大的环境中,验证签名的证书交换存在问题; 第二种方法:由Windows的安全授权机构提供的数字身份,主要特点是申请管理证书及验证签名比较方便,无需重新投入费用,但只适合在企业内部使用,与其它企业建 立相互信任关系比较困难; 第三种方法:由可信的数字证书认证中心来提供。一般官方场合使用的数字身份都是由可信的数字证书认证中心发放的。数字证书认证中心会发放一个私钥文件(Sk)和 一个数字身份文件。数字身份文件包含身份拥有者的公共密钥(公钥Pk)、名称,发证 机构名称、数字身份证号,以及发证机构的数字签名等信息,但每年的投入费用相当 昂贵。 1、申请个人数字证书 备注:个人数字证书由公司证书服务器统一颁发,通过域帐号进行申请,要养成离开电脑后锁定计算机的习惯,域密码必须妥善保管,以防止被他人冒用申请证书;证书同样也必须妥善保管,以防被他人盗用;个人数字证书有限期为2年,过期后需要重新申请(Windows X P之后版本的操作系统证书过期后会自动续订更新证书)。 Windows XP之后版本的操作系统通过公司域登录后会自动注册个人数字证书,Windows 2000版本操作系统必须手工申请公司颁发的个人数字证书,查看数字证书是否注册成功,方法如下: 打开IE浏览器,在“菜单”->“Internet选项”->“工具”->“内容”

数字签名驱动详细解决方法

在Win8Pro安装没有数字签名驱动详细解决方法,配图。 请用自动网上安装方安装驱动,如果不成功请用下面的方活禁WIN8数字笔名,再进行安装。不会看的,不会做的,需要请会电脑的人帮手,谢谢。请认真多看几次,一定会成功的,没有学习能力的同学比麻烦,建议用XP WIN7系统,谢谢。 说明,此种方法仅在操作后单次有效,如果需要安装其他驱动程序,需要重复下面的步骤。简单的文字版本: 1、如果是Win8(主)双系统,启动到选系统的时候,选最下面的:更改默认值或选择其它选项——>选择其它选项——>疑难解答——>高级选项——>Windows启动设置—重 新启动,然后选择“禁用驱动程序强制签名”; 2、如果你不是Win8(主)的双系统,或是Win8单系统,进系统后,[Win]+[C]调出Charm 菜单-更改电脑设置-设置-常规-高级启动的立即重启-疑难解答-高级选项-启动设置-重新启动,然后禁用驱动强制签名。 在网上找到方法,分享:开机时,按shift+f8,选择系统启动菜单中的禁用驱动强制签名 模式启动,就可以安装了。——这个貌似无效,没按出来启动菜单来,有需要的可以多尝试几次。 图文并茂版本: 1、操作系统:Win8Pro x64

2、设备是一台很久以前的扫描仪,驱动早就不更新了,还好有Vista的驱动,而且就是一个inf文件,所以把ntx86改为ntamd64就可以了,之前在Win7x64上测试通过的! 3、不料在Win8里面居然提示“第三方INF不包含数字签名信息”,然后就没得继续了——不给装! 以下为解决办法,为了方便阅读,继续上面的序号:

4、Charm菜单(就是装好Win8显示你好后面的那个操作方法,在屏幕右侧的角落晃动下鼠标会出现的菜单;如果觉得晃不好的同学直接按[Win]+[C]就可以调出Charm菜单)就是Win8右侧的那个全屏菜单,找到里面的设置。 5、最下面有个更改电脑设置, 最新更新:按【Win】+【i】可以不需要上面的第4点,直接打开设置。

该证书有一个无效的数字签名的原因和解决方法修订稿

该证书有一个无效的数字签名的原因和解决方 法 WEIHUA system office room 【WEIHUA 16H-WEIHUA WEIHUA8Q8-

在网页弹出该网站的安全证书有问题后,我们点击查看证书会看到这种错误消息:该证书有一个无效的数字签名。这是什么意思呢?该如何解决呢? 数字签名又称公钥数字签名、电子签章,就是证书颁发机构盖在数字证书上的一个章或印,用来证明某个消息或文件是本人发出/认同的,并未被修改。该证书有一个无效的数字签名,可能是由于以下原因造成的: ·该证书是自签名SSL证书 ·该证书是被更改过密钥的旧/过期证书 ·该证书不是由受信任的证书颁发机构颁发的 以上情况均可能导致该证书有一个无效的数字签名。那么,有什么方法可以解决这个问题呢? 方法一:停止使用自签名SSL证书 1024位RSA非对称密钥对已经不安全了,而目前几乎所有自签证书都是1024位,自签根证书也都是1024位。因此,很多浏览器和操作系统都不认可自签名证书,会发出安全警告,显示该证书有一个无效的数字签名。 推荐使用受信任的CA机构提供的免费且安全的SSL证书,如数安时代GDCA就有免费ssl证书可以申请。 方法二:修改浏览器设置

关闭数字签名检查,也可以避免出现“该证书有一个无效的数字签名”。你需要更改Internet选项中的某些设置,Internet Explorer——工具——Internet选项——高级,然后拖到下面,勾选“允许运行或安装软件,即使签名无效”,单击“确定”按钮即可。不过为了安全起见,不推荐使用这个方法。 方法三:安装权威受信任的SSL证书 解决“该证书有一个无效的数字签名”最好的方法是,安装部署受信任的CA机构颁发的ssl证书。受信任的CA机构是指已在Windows根证书计划的成员列表中,并且将根证书入根到Firefox、Chrome、IE等各大浏览器中,国内的数安时代GDCA就是优秀代表,它通过了WebTrust国际认证,其签署的数字签名受各大浏览器的信任。 如果需要SSL证书,请登录数安时代GDCA了解产品详情。数安时代还提供免费的安装部署服务,免费的重新签发服务,以及免费的咨询服务,是您的满意之选!

PDF文件数字签名和加密使用指南

PDF文件数字签名和加密使用指南 WoSign客户端数字证书不仅可以用于电子邮件数字签名和加密,以及登录企业内部管理系统的强身份认证,而且还可以用于数字签名和加密PDF文件,以实现企业内部管理系统的真正无纸化。同时,WoSign代码签名证书也可以用于签名PDF文件。如果您使用数字证书签名的PDF文件非常重要(如:合同),则建议您使用USB Key作为证书载体,以确保证书不会被非法滥用,从而保证了数字签名的权威性。 一、设置信任Windows根证书 Adobe Acrobat 已经有了非常完善数字签名功能,但由于Adobe Reader和Adobe Acorbat的缺省设置是只信任由Adobe自己的根证书所签发的签名证书,所以,使用WoSign客户端数字证书和代码签名证书签名PDF文件时需要使用者(作者和读者)设置一下“信任Windows证书存储区中的所有根证书”,请按以下步骤设置: 第 1 步:打开 Adobe Acrobat 7.0 和/或 Adobe Reader 7.0,点击“编辑”-“首选项”,再点击“安全性”,如下图 1 所示。

第 2 步:点击“高级首选项”,再点击“Windows 集成”,如下图 2 所示,打勾选中“启用'Windows'证书存储区导入和使用身份”、选中“确认签名”和“确认已验证的文档”,再点击“确定”即完成信任设置:

二、数字签名PDF文件 第 1 步:在Adobe Acrobat 7.0 的主菜单“高级” - “安全性设置” - “数字身份证”中点击“刷新”就可以看到您的Windows证书存储区中可用的签名证书,设置为默认签名和加密证书即可,如下图 3 所示:

制做PDF文件电子签名

制做PDF文件电子签名的方法: 1、在一张白纸上写一个您最得意的签名,并扫描或用数码像机将签名转为图片文件; 2、用photoshop打开上面做好的签名图片文件,裁切成刚好能容纳您签名的大小,并去掉 图片的背景颜色(方法详见后附),将处理好的图片另存为.GIF 图片格式文件待用;3、打开Adobe Acrobat 9 Pro (本制做方法适用于Adobe Acrobat 9 Pro 版本,其它版本请做 相应调整),任意新建一个PDF文件; 4、点击Adobe Acrobat 9 Pro 工具栏中的“签名”—“放置签名”,并用鼠标在新建的那个 PDF文件中画一个长方形的签名区(名字相签多大就画多大); 5、在随后弹出的窗口中选择“我要立即创建新的数字签名”,并点“下一步”; 6、在下一个窗口选择“新建PKCS#12数字身份证文件”,并点“下一步”; 7、在弹出的新窗口中输入“姓名”、“部门”,“单位名称”,“电子邮件地址”(以上这些都 只能输英文或拼音,不支持汉字);然后选择国家并点“下一步”; 8、在接下来弹出的窗口中选择电子签名文件制做好后要存放的文件夹,输入并确认您以后 签名时验证身份要用的密码;最后点击“完成” 9、在“签名文档”窗口中的“签名为:”档中选择“新建ID”,在“外观(A):”栏选择“创 建新外观…”; 10、弹出的“配置签名外观”窗口中的标题栏输入这类签名的标识,例:“无日期签名” 等等;在“配置图形”--“显示:”中选择“导入的图形(I)”并点击“文件(F)…”; 从“选择图片”窗口的“浏览(B)…”中找到第2步制做好的图片文件并点“确定”返回; 这时您就可以“配置签名外观”窗口的“预览”栏中看见您手写的签名了;您也会看到,除了您的签名外,它后面还跟着一些其它信息;这些信息是通过“配置文本”-“显示:” 后面的选择项来控制的,您可以根据您的签名需要选择; 11、至此,点“确定”后,您的电子签名就算制做完成了,以后在签名时,只需重复第 4步并输入密码就OK了! 12、如果需要在签名时同时输入签名“原因”,就需要在“配置签名外观”窗口的“配 置文本”选项中勾选上“原因”,点击“确定”完成电子签名制做后,再在“编辑”菜单栏选择“首选项”—“种类”—“安全性”—“高级首选项”—“创建”标签中勾选“签名时显示原因”。这样,以后签名时就可以输入您的签名“意见”(原因)了;13、如果您对刚才制做的这个签名不满意,可以在Adobe Acrobat 9 Pro 工具栏中的“高 级”—“安全性设置”,中删除这个数字身份证;如果你想对制做好的签名做一个备份,以后电脑系统重装后可以直接导入使用,您也可以在这个窗口中将您制做好的“数字身份证”导出保存。 14、对于您不满意的签名外观,可以在“编辑”菜单栏选择“首选项”—“种类”—“安 全性”—“外观”栏中进行“编缉”或“删除”;也可以在此处应用“新建”按钮直接创建一个新的签名外观。 15、修改签名密码:运行Adobe Acrobat 9 Pro,依次点击菜单栏中的“高级”—“安全 性设置”—“数字身份证文件”,再点击右侧最上面一行中的“更改口令”就可更改您签名时要输入的密码了! 最后申明: 此类电子签名现在在法律上与手写签名具有同等法律效力,使用时需谨慎!

相关文档
相关文档 最新文档