2010-12-17_154156.png

要製做 JNLP 前,必須先為 JAR 簽名,如果沒有簽名,就無法執行,如上圖所示。主要步驟為先利用 keytool 製做憑證,再利用 jarsigner 把憑證寫入 JAR 裏。二支程式都包含在 JDK 裏,JRE 只有 keytool 沒有 jarsigner,所以一定要安裝 JDK 才可以。

  1. -alias: 別名,預設值 mykey。
  2. -genkeypair: 產生密鑰及憑證。
  3. -validity: 憑證的有效時間,預設值只有 90 天。
  4. -keystore: 儲存檔案。

執行完 jarsigner 後,會在 JAR 內的 META_INF 內多出 MYKEY.SDA 及 MYKEY.SF,而且 MANIFEST.MF 也會加入一些加密機制。

>>keytool -genkeypair -validity 3650 -keystore jyhshin.keystore 輸入 keystore 密碼: 重新輸入新密碼: 您的名字與姓氏為何? [Unknown]: 邱小新 您的編制單位名稱為何? [Unknown]: 研發 您的組織名稱為何? [Unknown]: 奇菱 您所在的城市或地區名稱為何? [Unknown]: 台南 您所在的州及省份名稱為何? [Unknown]: 台灣 該單位的二字國碼為何 [Unknown]: TW CN=邱小新, OU=研發, O=奇菱, L=台南, ST=台灣, C=TW 正確嗎? [否]: y 輸入 <mykey> 的主密碼 (RETURN 如果和 keystore 密碼相同): >>jarsigner -keystore jyhshin.keystore lookandfeeldemo.jar mykey Enter Passphrase for keystore:

輸入的姓名會出現在 JNLP 啟動畫面上的發行人。

2010-12-16_135405.png

接著就是製做 JNLP 文件,很簡單的,參照下列文件即可。

  1. jnlp codebase: 文件所在目錄。
  2. jnlp href: jnlp url。
  3. jnlp title: JNLP 啟動畫面上的名稱。
  4. application-desc main-class: JAR 的啟動類別。
  5. jar href: jar url。
<?xml version="1.0" encoding="UTF-8"?> <jnlp name="lookandfeeldemo" codebase="http://jyhshin.hyperphp.com/wp-content/uploads/2010/12/" href="lookandfeeldemo.jnlp"> <information> <title>LookAndFeelDemo</title> <vendor>jyhshin</vendor> <offline-allowed/> <description>LookAndFeel Demo</description> </information> <application-desc main-class="tw.idv.jyhshin.Swing.LookAndFeelDemo"/> <security> <all-permissions/> </security> <resources> <j2se version="1.4+"/> <jar href="lookandfeeldemo.jar"/> </resources> </jnlp>

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()