国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Trusted Applet的制作和運行

2019-11-18 11:56:12
字體:
來源:轉載
供稿:網友

  本系統的客戶程序是java Applet,但它的執行需要讀本地硬盤,以及進行安全算法方面
  操作,這些操作都需要有本地application的權限,而無法在普通的沙箱機制的限制下運
  行。
  1 沙箱機制對Applet的安全性限制
  在瀏覽器或者appletviewer中運行遠程主機上存放的Applet時,Java VM認為它是不可信
  任的,將其置于所謂sandbox的保護之下,在這樣的情況下Applet的運行受到下面的限制
 ?。?br />  b) Applet不能讀寫客戶端主機上的文件
  c) Applet不能執行JCE/JCA中的addPRovider操作
  d) 在進行網絡連接時Applet只能與提供它的服務器建立連接
  e) Applet在事件捕捉、讀取系統信息等其他方面受到限制
  f) 在Netscape瀏覽器中,不提供java.security.*的支持,在IE瀏覽器中對Applet的運行
  做了比appletviewer中更加高的限制
  由于上述的限制,安全公文傳遞系統的客戶程序直接在瀏覽器或appletviewer中運行時會
  碰到下列問題:
  b) 客戶程序無法讀寫客戶機的存儲設備
  c) 客戶程序無法執行addProvider操作
  d) 在使用額外類庫時發生Security Exception
  e) 在Netscape瀏覽器中因為缺乏java.security.*的支持而完全無法運行
  f) 在IE瀏覽器中發生更多的Security Exception
  產生這些問題的原因是各種java VM將公文系統的客戶程序視為不可信任的。解決的方法
  是要使Java VM信任公文系統的客戶程序。
  3 Applet的簽名和信任機制
  要使Applet得到虛擬機的信任就要有辦法讓虛擬機知道Applet是可信任的人提供的。SUN
  、Netscape
  Communicator和IE4.0各自提供了一套互相之間不兼容的Applet簽名機制。它們的原理都
  是相同的,就是通過驗證一個可信任的簽名者的數字簽名,來驗證Applet是由可信任的作
  者提供的。在安全公文傳遞系統中我們采用了SUN提供的簽名機制,并通過安裝java
  plugin使得在各種瀏覽器中都可以使用這套簽名機制。
  SUN在JDK1.X版本中提供了一個名為javakey的小程序。它能夠替開發者完成對Applet進行
  數字簽名的所有步驟,也能替最終用戶完成設置對開發者信任的工作。要對Applet進行數
  字簽名之前,必須用JDK的另外一個工具程序jar將applet中用到的類打包成一個.JAR文件
  。這樣建立一套基于ja
  vakey的Applet簽名和信任體系包括下列三項工作:
  * 用jar工具創建.JAR文件
  * 用javakey創建數字簽名
  * 在客戶端安裝java plugin,并設置對簽名人的信任
  下面分別闡述這三項工作。
  4 用jar工具創建.JAR文件
  JAR是Java
  Archive的縮寫。Jar工具的主要功能是將文件壓縮和打包。JDK提供jar工具的目的主要是
  讓用戶可以將applet中用到的class文件和其他文件壓縮打包到一個文件中,當瀏覽
  applet時通過一從http的傳輸將它們一并下載到客戶端,節省多次下載多個小文件所浪費
  的協議建立時間。客戶程序
  在下載了applet的.jar文件后就可以運行applet而無需再繼續下載其他文件了。Javakey
  在生成數字簽名時要求有關的類都打包在一個.jar文件中,它生成的數字簽名也會自動添
  加到這個.jar文件中去。
  使用了.jar文件后Html中的applet標記略有不同,比普通的多出了一個archive項,例如
 ?。?br />    archive="jars/animator.jar,jars/support.jar"
  width=460 height=160>
  
  
  jar是命令行工具,常用的形式有:
  jar cf myjarfile *.class:將當前目錄的所有.class文件加到文件myjarfile中去
  jar cvf myjarfile mydir:將mydir里面所有文件加到文件myfile中去
  jar工具的具體使用方法在JDK的文檔有介紹。
  6 用javakey創建數字簽名
  javakey包括非常豐富的命令和參數,能夠為用戶創建密鑰對和證書。具體的說明可以在
  JDK的文檔中找到。簡單來說,用javakey創建運行帶數字簽名的.jar文件主要包括下列步
  驟:
  2. 創建signer并設置為信任的,格式為:
  javakey cs jiewen true
  假如創建時沒有指定true參數,新建的signer將是不信任的,可以用
  javakey t jiewen true
  5. 創建公鑰/私鑰對,由于SUN本身提供對DSA算法的實現,所以一般都創建DSA的密鑰對
 ?。?br />  javakey gk mysigner DSA 512
  512表示密鑰長度為512位
  8. 創建signer的證書,創建證書時需要編輯一個說明文件說明證書的內容,創建證書的
  命令行格式為:
  javakey -gc 說明文件
  說明文件的主要內容為:
  issuer.name=jiewen
  #簽發人名字,假如沒有則指定自己的名字
  #issuer.cert=1
  #假如簽發人不是自己,則要指定這項
  subject.name=jiewen
  #擁有人的名字
  subject.real.name=Zheng Jiewen
  subject.org.unit=Nc
  subject.org=Scut
  subject.country=China
  #以上為擁有人的具體資料
  start.date=19 Aug 1998
  end.date=19 Aug 1999
  #有效期
  serial.number=1001
  #序列號
  out.file=cert.cer
  #輸出文件名稱
  
  12. 對JAR文件進行數字簽名,需要編輯一個說明文件來說明簽名操作的細節。命令行為
  :
  javakey -gs 說明文件 jar文件
  說明文件的主要內容為:
  signer=jiewen
  #指定簽名人
  cert=1
  #指定用簽名人的哪個證書
  chain=0
  #必須指定但沒有意義
  signature.file=jiewen
  #簽名存儲在哪個文件里面
  out.file=out.jar
  #輸出的jar文件的文件名
  
  14. 在客戶端創建signer,并信任之:
  javakey c jiewen true
  
  16. 在客戶端安裝signer的證書,命令行為:
  javakey ic jiewen jiewen.cer
  jiewen為signer的名字,jiewen.cer為存放證書的文件。
  完成上述操作后客戶端的appletviewer就能夠以信任方式來運行簽名了的applet了。這時
  applet獲得的權限和本地的application是一致的。
  7 安裝和配置Java plugin
  Java plugin是一個瀏覽器的plugin產品。在瀏覽器中安裝了這個plugin后用戶就可以在
  瀏覽器環境下用SUN的Java虛擬機來運行網頁中的applet了。安全公文傳遞系統的客戶程
  序用javakey進行數字簽名,必須在SUN的java虛擬機中才能被識別,因此必須在客戶端安
  裝java plugin。
  Java plugin并不能令普通的含有applet標記的html文件在SUN的java虛擬機中運行applet
  ,它只熟悉為它設計的非凡標記。為了產生含有這樣非凡標記的文件,可以到SUN的站點
  下載專門的轉換器,將含有applet標記的html文件轉換為含有java plugin使用的html標
  記的文件。
  Java plugin的安裝非常簡單,只需下載安裝文件并運行之,安裝程序就會自動完成安裝
  工作了。但是單純安裝java plugin是無法以信任方式運行客戶程序的,還要在java
  plugin的運行環境中設置對signer信任和安裝signer的證書。要做到這點,必須分兩步進
  行。
  首先要知道java plugin的home目錄是什么,方法是:運行java plugin的control panel
  ,打開里面的Show Java Console選項,然后到瀏覽器里面瀏覽要運行的applet所在的網
  頁,這時就會出現java console窗口,里面有一行是User home Directory = 厖,就是當
  前的home目錄了。
  知道了home目錄后就要把包含有信任信息和簽發人證書的文件拷貝到這個目錄中去。假如
  用戶有jdk的話,可以用jdk的javakey工具按照前面的說明來設置信任和安裝證書,然后
  在jdk的安裝目錄(假如使用windows)或者用戶的home目錄(假如使用unix)找到一個名
  字為identitydb.obj的
  文件,將這個文件拷貝到java plugin的home目錄中,設置的信任就生效了。假如用戶沒
  有jdk,可以下載安裝jdk來創建這個文件,或者可以從別人處拷貝這個identitydb.obj文
  件,并安裝到自己的java plugin的home目錄中。
  
  另外,假如是在局域網內,也可以在瀏覽器內設置安全級別,將Applet所在的主機設成可信
  任的站點,這樣就可以設置Applet的安全級了.IE4是可以的,別的沒試過.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 来安县| 常德市| 通海县| 淮滨县| 行唐县| 姜堰市| 波密县| 东辽县| 元朗区| 新沂市| 嘉善县| 铅山县| 株洲市| 萍乡市| 娄烦县| 黎平县| 永康市| 河池市| 汾西县| 米脂县| 漳平市| 永靖县| 中超| 惠来县| 合水县| 牡丹江市| 保山市| 洞口县| 黑水县| 绥宁县| 安阳县| 成武县| 政和县| 德江县| 汝州市| 黔江区| 巩义市| 张家港市| 穆棱市| 张家港市| 外汇|