欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
對Java Applet和Java Web Start進(jìn)行數字簽名
對Java Applet和Java Web Start進(jìn)行數字簽名文章出處:www.yestar2000.com作者:AYellow   發(fā)布時(shí)間:2004-09-08   點(diǎn)擊:0 

對Java Applet和Java Web Start進(jìn)行數字簽名


    我們知道Java Applet和Java WebStart程序在運行的時(shí)候受到安全限制,例如不能夠訪(fǎng)問(wèn)本地文件系統,不能夠隨意訪(fǎng)問(wèn)網(wǎng)絡(luò )。本文將演示如何對代碼做數字簽名,讓客戶(hù)在運行時(shí)選擇是否信任你的簽名,以使你的程序具有更多的權限。在這里我們不打算購買(mǎi)證書(shū)。

我的計算機環(huán)境如下:
Windows2000 professional sp3
SUN JDK1.4.0
IE6.0
JAVA_HOME、PATH、CLASSPATH等環(huán)境變量均已設置

客戶(hù)端需求:
客戶(hù)端瀏覽器需要安裝Java插件,這里的Java插件是安裝JDK時(shí)一起安裝的。如果客戶(hù)端不需要做Java開(kāi)發(fā),可以去下載SUN的網(wǎng)站下載JRE到客戶(hù)端安裝。

接下來(lái)看看下面這個(gè)Applet,它只有一個(gè)按鈕,點(diǎn)擊這個(gè)按鈕程序就在本地建立一個(gè)文件,如果成功,彈出一個(gè)對話(huà)框顯示成功消息,如果發(fā)生異常(安全異?;蛘逫O異常),也彈出一個(gè)顯示錯誤的對話(huà)框。源文件如下:

源文件test\TestApplet.java

package test;

import java.applet.*;
import java.io.*;

import java.awt.event.*;
import javax.swing.*;

public class TestApplet
extends Applet {
public void init() {
JButton button = new JButton("Create a file");
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
File file = new File("c:\\a.txt");
try {
file.createNewFile();
JOptionPane.showMessageDialog(null,"成功創(chuàng )建文件c:\\a.txt",
"消息",JOptionPane.INFORMATION_MESSAGE );
}catch (Exception ex) {
JOptionPane.showMessageDialog(
null,ex.getMessage(),"錯誤",JOptionPane.ERROR_MESSAGE);
}
}
});
add(button);
}
}

在與test目錄的父目錄編譯這個(gè)Applet
javac test\TestApplet.java

打包,生成test.jar文件
jar -cvf test.jar test

以下是使用Applet的HTML頁(yè)面test.html
<html>
<head>
<meta http-equiv="Content-Type"content="text/html; charset=GB2312">
<title>
HTML Test Page
</title>
</head>
<body>
test.Applet1 will appear below in a Java enabledbrowser.<br>
<applet
codebase = "."
code = "test.TestApplet.class"
name = "TestApplet"
archive = "test.jar"
width = "400"
height = "300"
hspace = "0"
vspace = "0"
align = "middle"
>
</applet>
</body>
</html>

現在就讓我們運行一下,打開(kāi)test.html。點(diǎn)擊按鈕,你看到了什么?非常不幸,我們沒(méi)有經(jīng)過(guò)數字簽名的Applet在默認情況下沒(méi)有寫(xiě)本地文件的權限。那么讓我們準備簽名代碼吧。
首先用keytool命令產(chǎn)生用來(lái)簽名的key。下面這個(gè)命令產(chǎn)生一個(gè)叫"mykey"的key,它存儲在我們新建的叫"mystore"的keystore中。

keytool -genkey -alias mykey -keystore mystore

接下來(lái)它會(huì )問(wèn)一些問(wèn)題包括keystore的密碼,key的密碼等,如下所示:

輸入keystore密碼: storepass
您的名字與姓氏是什么?
[Unknown]: AYellow
您的組織單位名稱(chēng)是什么?
[Unknown]: 我的組織單位
您的組織名稱(chēng)是什么?
[Unknown]: 我的組織
您所在的城市或區域名稱(chēng)是什么?
[Unknown]: 北京
您所在的州或省份名稱(chēng)是什么?
[Unknown]: 北京
該單位的兩字母國家代碼是什么
[Unknown]: CN
CN=AYellow, OU=我的組織單位, O=我的組織, L=北京, ST=北京, C=CN正確嗎?
[否]: Y

輸入<mykey>的主密碼
(如果和 keystore 密碼相同,按回車(chē)): keypass

完成后會(huì )在當前目錄下生成一個(gè)叫mystore的文件,這個(gè)文件包含了我們的key。用jarsigner命令簽名我們的代碼test.jar(需要輸入keystore和key的密碼):

jarsigner -keystore mystore test.jar mykey

Enter Passphrase for keystore: storepass
Enter key password for mykey: keypass

再次運行Applet,在A(yíng)pplet加載的時(shí)候會(huì )出現一個(gè)對話(huà)框,說(shuō)該Applet由不可信任的發(fā)行者簽名并宣稱(chēng)代碼是安全的,是不是要對Applet授權。選擇"授權于會(huì )話(huà)",然后點(diǎn)擊我們的按鈕,看看是不是成功的創(chuàng )建了文件?

對于Java WebStart程序,簽名jar文件的過(guò)程是一樣的。但是需要在jnlp文件中做一些修改。例如在jnlp根元素下加上一下部分:
<security>
<all-permissions/>
</security>

運行程序,在第一次啟動(dòng)的時(shí)候出現以下對話(huà)框:

選擇"啟動(dòng)",以后啟動(dòng)時(shí)這個(gè)對話(huà)框再也不會(huì )出現,因為Java WebStart啟動(dòng)后相當于一個(gè)安裝在本地的程序,既然第一次客戶(hù)選擇了信任,以后這個(gè)對話(huà)框就再沒(méi)有必要出現了。當然,對于上面的Applet例子我們也可以選擇"總是授權"。

與大家討論:仔細查看一下,我們可以發(fā)現Applet和Java WebStart出的對話(huà)框的措辭是不一樣的,而且很顯然前者措辭不當,在這種情況下,客戶(hù)很可能對不可信任的程序授權,造成安全上的隱患。如果前面我們創(chuàng )建keystore的時(shí)候在"我的組織"中填上"Microsoft",又會(huì )怎么樣?對于一個(gè)不可信任的程序,前者默認的按鈕居然是"授權",而后者是"退出"。Applet的安全為什么會(huì )是這樣?

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
使applet能夠訪(fǎng)問(wèn)本地資源
Java Applet簽名驗證
數字簽證
Java Web Start入門(mén)基礎教程
手把手教你做基于web的文件掃描并上傳
JTA(java telnet/ssh client)不能telnet/ssh遠程機器問(wèn)題與解決
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久