一,、數(shù)字簽名怎么簽
(一)Java簽名步驟
1、將applet的class文件打包成*.jar(可以在命令行中輸入jar查看幫助),。
2,、首先我們要生成一個keystore,否則在簽名的時候報如下錯誤:
jarsigner錯誤:java.lang.RuntimeException:密鑰庫裝入:C:Documents and Settingsij2ee.keystore(系統(tǒng)找不到指定的文件,。). (這邊的ij2ee是當(dāng)前系統(tǒng)用戶名)
生成keystore的語句:keytool-genkey-alias 別名你可以自己寫-keyalg RSA-keystore.keystore
下面是會出現(xiàn)的數(shù)字簽名的一些步驟操作:
輸入keystore密碼:
再次輸入新密碼:
您的名字與姓氏是什么,?
[Unknown]:ij2ee
您的組織單位名稱是什么?
[Unknown]:mtk
您的組織名稱是什么,?
[Unknown]:mtk
您所在的城市或區(qū)域名稱是什么,?
[Unknown]:suzhou
您所在的州或省份名稱是什么?
[Unknown]:jiangsu
該單位的兩字母國家代碼是什么
[Unknown]:cn
CN=ij2ee,,OU=mtk,,O=mtk,L=suzhou,,ST=jiangsu,,C=cn正確嗎?
[否]:y
輸入的主密碼
(如果和keystore密碼相同,,按回車):
這時候會在jdk的bin目錄下生成.keystore,。把這個.keystore文件移動到C:Documents and Settings當(dāng)前系統(tǒng)用戶的目錄下面。
3,、創(chuàng)建一個數(shù)字證書
在命令行中輸入如下指令,,peakCA和peakCALib自己起名字好了,,3650是有效天數(shù),就是10年左右,,在創(chuàng)建證書的的時候,,需要填寫證書的一些信息和證書對應(yīng)的私鑰密碼。
keytool -genkey -alias peakCA -keyalg RSA -keysize 1024 -keystore peakCALib -validity 3650
4,、將證書導(dǎo)出到證書文件中
在命令行中輸入如下指令,,peakCA和peakCALib任意起名字,******是輸入的密碼,。
keytool -export -alias peakCA -file peakCA.cer-keystore peakCALib-storepass******-rfc
5,、授權(quán)jar文件,在命令行中輸入如下指令
jarsigner -keystore peakCALib myapplet.jar peakCA
(二)office簽名步驟
1,、要保護文檔內(nèi)容的真實性,,可以添加不可見的數(shù)字簽名。已簽名文檔的底部有“簽名”按鈕,。
2,、單擊“文件”選項卡。
3,、單擊“信息”,。
4、在“權(quán)限”下,,單擊“保護文檔”,、“保護工作簿”或“保護演示文稿”。
5,、單擊“添加數(shù)字簽名”,。
6、閱讀Word,、Excel或PowerPoint中顯示的消息,,然后單擊“確定”。
7,、在“簽名”對話框中的“簽署此文檔的目的”框中,,鍵入目的。
8,、單擊“簽名”,。
9,、在對文件進行數(shù)字簽名后,,將出現(xiàn)“簽名”按鈕,并且文件會變?yōu)橹蛔x以防止修改,。
二,、數(shù)字簽名應(yīng)用例子
假如Alice向Bob傳送數(shù)字信息,,為了保證信息傳送的保密性、真實性,、完整性和不可否認性,,需要對傳送的信息進行數(shù)字加密和簽名,其傳送過程為:
Alice準(zhǔn)備好要傳送的數(shù)字信息(明文),;
Alice對數(shù)字信息進行哈希運算,,得到一個信息摘要;
Alice用自己的私鑰對信息摘要進行加密得到Alice的數(shù)字簽名,,并將其附在數(shù)字信息上,;
Alice隨機產(chǎn)生一個加密密鑰,并用此密碼對要發(fā)送的信息進行加密,,形成密文,;
Alice用Bob的公鑰對剛才隨機產(chǎn)生的加密密鑰進行加密,將加密后的DES密鑰連同密文一起傳送給Bob,;
Bob收到Alice傳送來的密文和加密過的DES密鑰,,先用自己的私鑰對加密的DES密鑰進行解密,得到Alice隨機產(chǎn)生的加密密鑰,;
Bob然后用隨機密鑰對收到的密文進行解密,,得到明文的數(shù)字信息,然后將隨機密鑰拋棄,;
Bob用Alice的公鑰對Alice的數(shù)字簽名進行解密,,得到信息摘要;
Bob用相同的哈希算法對收到的明文再進行一次哈希運算,,得到一個新的信息摘要,;
Bob將收到的信息摘要和新產(chǎn)生的信息摘要進行比較,如果一致,,說明收到的信息沒有被修改過,。