提问

Java数字签名步骤问题

大律师网 2017-02-02    人已阅读
导读:【数字加密】Java数字签名步骤问题 数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一

【数字加密】Java数字签名步骤问题

数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。

Java数字签名步骤

1、将applet的class文件打包成*.jar(不会的可以在命令行中输入jar查看帮助)

2 首先我们要生成一个keystore 否则在签名的时候报如下错误

jarsigner 错误: java.lang.RuntimeException: 密钥库装入: C:\Documents and Settings\ij2ee\.keystore (系统找不到指定的文件。). (这边的ij2ee 是我当前系统用户名)

生成keystore的语句:keytool -genkey -alias 别名你可以自己写 -keyalg RSA -keystore .keystore

比如我的就是 keytool -genkey -alias ij2ee -keyalg RSA -keystore .keystore

下面是会出现的数字签名的一些步骤操作:

输入keystore密码:

再次输入新密码:

您的名字与姓氏是什么

[Unknown]: ij2ee

您的组织单位名称是什么

[Unknown]: mtk

您的组织名称是什么

[Unknown]: mtk

您所在的城市或区域名称是什么

[Unknown]: suzhou

您所在的州或省份名称是什么

[Unknown]: jiangsu

该单位的两字母国家代码是什么

[Unknown]: cn

CN=jeson, OU=mtk, O=mtk, L=suzhou, ST=jiangsu, C=cn 正确吗

[否]: y

输入的主密码

(如果和 keystore 密码相同,按回车):

这时候会在jdk的bin目录下生成 .keystore 。把这个.keystore文件移动到 C:\Documents and Settings\当前系统用户 的目录下面。

3、创建一个数字证书

在命令行中输入如下指令,peakCA和peakCALib自己起名字好了,3650是有效天数,就是10年左右,在创建证书的的时候,需要填写证书的一些信息和证书对应的私钥密码。这些信息包括 CN=xx,OU=xx,O=xx,L=xx,ST=xx,C=xx,都是中文,一看就懂的

keytool -genkey -alias peakCA -keyalg RSA -keysize 1024 -keystore peakCALib -validity 3650

4、将证书导出到证书文件中

在命令行中输入如下指令,peakCA和peakCALib自己起名字好了,******是你输入的密码

keytool -export -alias peakCA -file peakCA.cer -keystore peakCALib -storepass ****** -rfc

5、授权jar文件,在命令行中输入如下指令

jarsigner -keystore peakCALib myapplet.jar peakCA

如何实现

数字签名算法依靠公钥加密技术来实现的。在公钥加密技术里,每一个使用者有一对密钥:一把公钥和一把私钥。公钥可以自由发布,但私钥则秘密保存;还有一个要求就是要让通过公钥推算出私钥的做法不可能实现。

普通的数字签名算法包括三种算法:

1.密码生成算法 ;

2.标记算法 ;

3.验证算法 。



阅读全文
版权声明:以上文章内容来源于互联网整理,如有侵权或错误请向大律师网提交信息,我们将按照规定及时处理。本站不承担任何争议和法律责任!

相关知识推荐

更多>>
注册
TOP
2008 - 2026 © 大律师网 版权所有