Re: [問題] JApplet

看板java作者 (shooting star)時間18年前 (2006/03/19 23:17), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《qrtt1.bbs@bbs.sayya.org (foolish)》之銘言: : ※ 引述《NightPrince.bbs@ptt.cc (shooting star)》之銘言: : > 既不久前的RMI問題,隨之而來的是 JApplet 問題 囧rz : > 事情是這樣的,我寫了一個JApplet的程式,想要嵌在網頁上 : > 後來發現會有 access denied 的問題,後來我找到原因是權限的問題 : > 也就是 JApplet預設就有以下的限制: : > 1. Applet無法對本地電腦做任何的檔案存取 : > 2. Applet無法喚起在本地電腦的任何其他程式 : > 3. Applet除了與下載包含Applet之HTML網頁的電腦通訊外,不會與其他電腦通訊 : > 那請問我該怎樣,才可以突破這個預設的限制呢? : http://java.sun.com/developer/technicalArticles/Security/Signed/index.html 大感謝!成功了,可以在網頁跑 applet 了 順便說說到底該如何做吧! 誠如我原本說的, applet 有很嚴格的安全限制,所以預設就會有那三項限制 要突破這個限制的作法流程如下: 1. 將此 applet 打包成 jar 檔 2. 使用 keytool 產生 key 3. 使用 jarsigner , sign jar檔,這時要用到剛所產生的 key 4. 寫一下 html tag 即可 現在詳述流程如下: 1. 略 (茶) 2. 指令為: keytool -genkey [-alias alias-name -keystore keystore-name] genkey後面那一串不輸入沒關係,不輸入的話 alias-name 預設值就是 mykey keystore的檔名就會是 .keystore 此時會問你六個問題,至於會問什麼問題,我會結合步驟三給範例指令 這樣比較容易瞭解! 3.指令為: jarsigner -keystore keystore-name -storepass keystore-password -keypass key-password jar-file alias-name 注意:預設值是這組KEY的有效日期是6個月 4. 比如說我的 applet 是 SampleApplet.class ,包在 test.jar 檔裡面 <applet code="SampleApplet.class" archive="test.jar" width=400 height=400> </applet> 步驟二跟步驟三的範例指令: D:\>keytool -genkey 輸入 keystore 密碼: nightprince 您的名字與姓氏為何? [Unknown]: NightPrince 您的編制單位名稱為何? [Unknown]: Anonymous 您的組織名稱為何? [Unknown]: Anonymous 您所在的城市或地區名稱為何? [Unknown]: Tainan 您所在的州及省份名稱為何? [Unknown]: Taiwan 該單位的二字國碼為何 [Unknown]: Tw CN=NightPrince, OU=Anonymous, O=Anonymous, L=Taina, ST=Taiwan, C=Tw 正確嗎? [否]: y 輸入 <mykey> 的主密碼 (RETURN 如果和 keystore 密碼相同): nightprince D:\>jarsigner -keystore D:\songClient.keystore -storepass nightprince -keypass nightprince D:\songClient.jar mykey Warning: The signer certificate will expire within six months. 順便要注意的是,步驟三的指令需要在一行內完成 也就是不要輸入換行字元即可 使用者只要連入那個網頁都會跳出一個視窗問你要不要信任這個網頁內容 OK的話就可以看到 applet 了 [茶] -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.116.182.158
文章代碼(AID): #147NN-OY (java)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
文章代碼(AID): #147NN-OY (java)