Thursday, May 3, 2012

使用Keytool產生自我核發的憑證

為了要讓Applet可以在客戶端具有特殊權限,例如:存取客戶端的檔案系統,必須要對JAR檔進行簽章的動作,但是要申請一個憑證必須要有$$,因此為了測試我們可以使用JDK內建的keytool工具來產生金鑰並核發憑證給自己!

測試環境:JDK 1.6.31 Windows 7 x64 命令列模式

  • 輸入下列指令可以直接產生自我核發之憑證
#使用Java的keytool指令
keytool -genkey -alias test -keysize 2048 -keyalg RSA -sigalg SHA1withRSA -keypass test1234 -storepass test1234 -validity 365 -dname "CN=testname, OU=testunit, O=testorg, L=testlocation,S=teststate , C=TW" -keystore test.jks



各參數說明如下:
-alias 設定別名
-keysize 設定金鑰長度(RSA最好是2048或以上,DSA最高為1024)
-keyalg 非對稱性產生金鑰演算法有RSA或DSA
-sigalg 和keyalg相對應的簽章演算法
        有MD5withR(D)SA或是SHA1withR(D)SA等四種
-keypass 密鑰的密碼,解密時會用到
-storepass 金鑰檔密碼
-validity 憑證的有效天數
-dname 設定DN(識別名稱-Distinguished Name)
       CN(Common Name):自己的名字
       OU(Organizational Unit):所屬單位
       O(Organization):所屬機構
       L(Locality):居住城市名
       S(State):居住州名或省名
       C(Country):國家代碼
-keytore 以keystore的方式將金鑰儲存下來

No comments:

Post a Comment