2016年5月23日 星期一

Wildfly 10 - 設置 SSL/TLS

Wildfly 10設置 SSL/TLS 與 管理者介面

詳細說明請考參最這裡 (點我 Link), 這裡就不多做說明了。
  1. 憑證(certificate)準備
    • $ keytool -genkeypair -alias myServer -storetype jks -keyalg RSA -keysize 2048 -keypass myPassword -keystore wfly.jks -storepass myPassword -dname "CN=myServer,OU=test,L=Chicago,ST=IL,C=US" -validity 730 -v
    • $ cp wfly.jks $JBOSS_HOME/standalone/configuration/
  2. Create File
    • $JBOSS_HOME/standalone/configuration/https-users.properties
  3. RUN Wildfly Server
  4. ${JBOSS_DIR}/bin/jboss-cli.sh
  5. $ connect
  6. === 建立 Realm for SSL/TLS ===
    • /core-service=management/security-realm=httpsRealm/:add
    • /core-service=management/security-realm=httpsRealm/authentication=properties/:add(path=https-users.properties, relative-to=jboss.server.config.dir)
    • /core-service=management/security-realm=httpsRealm/server-identity=ssl:add(keystore-path=wfly.jks,keystore-relative-to=jboss.server.config.dir,keystore-password=myPassword, alias=myServer)
    • reload
    • $JBOSS_HOME/bin/add-user.sh -up $JBOSS_HOME/standalone/configuration/https-users.properties -r httpsRealm
  7. === Enable SSL ===
    • /subsystem=undertow/server=default-server/https-listener=default-https:add(socket-binding=https,security-realm=httpsRealm)
  8. === Enabling SSL for 管理介面 ===
    • /core-service=management/management-interface=http-interface:write-attribute(name=secure-socket-binding,value=management-https)
    • /core-service=management/management-interface=http-interface/:write-attribute(name=security-realm,value=httpsRealm)
    • reload
  9. https://localhost:9993


2016年3月15日 星期二

Keytool是一個Java資料證書的管理工具,Keytool將金鑰(key)和證書(certificates)存在一個稱為keystore的檔中 在keystore裡,包含兩種資料:
  • 金鑰實體(Key entity):金鑰(secret key)又或者是私密金鑰和配對公開金鑰(採用非對稱加密)
  • 可信任的證書實體(trusted certificate entries):只包含公開金鑰
ailas(別名)每個keystore都關聯這一個獨一無二的alias,這個alias通常不區分大小寫  

JDK中keytool常用指令:
  • -genkey:在用戶主目錄中創建一個預設檔".keystore",還會產生一個mykey的別名,mykey中包含用戶的公開金鑰、私密金鑰和證書(在沒有指定生成位置的情況下,keystore會存在使用者系統預設目錄,如:對於windows系統,會生成在系統的C:\Documents and Settings\UserName\檔案名為“.keystore”)
  • -alias:產生別名
  • -keystore:指定金鑰庫的名稱(產生的各類資訊將不在.keystore文件中)
  • -keyalg:指定金鑰的演算法 (如 RSA  DSA(如果不指定默認採用DSA))
  • -validity:指定創建的證書有效期多少天
  • -keysize:指定金鑰長度
  • -storepass:指定金鑰庫的密碼(獲取keystore資訊所需的密碼)
  • -keypass:指定別名條目的密碼(私密金鑰的密碼)
  • -dname:指定證書擁有者資訊 例如:  "CN=名字與姓氏,OU=組織單位名稱,O=組織名稱,L=城市或區域名稱,ST=州或省份名稱,C=單位的兩字母國家代碼"
  • -list:顯示金鑰庫中的證書資訊      keytool -list -v -keystore 指定keystore -storepass 密碼
  • -v :顯示金鑰庫中的證書詳細資訊
  • -export:將別名指定的證書匯出到檔  keytool -export -alias 需要匯出的別名
  • -keystore:指定keystore -file 指定匯出的證書位置及證書名稱 -storepass 密碼
  • -file:參數指定匯出到檔的檔案名
  • -delete:刪除金鑰庫中某條目 keytool -delete -alias 指定需刪除的別名; -keystore 指定keystore;-storepass 指定密碼
  • -printcert:查看匯出的證書資訊          keytool -printcert -file yushan.crt
  • -keypasswd:修改金鑰庫中指定條目指令:keytool -keypasswd -alias 需修改的別名 -keypass 舊密碼 -new  新密碼  -storepass keystore密碼  -keystore sage
  • -storepasswd:修改keystore指令:keytool -storepasswd -keystore e:\polin.keystore(需修改口令的keystore) -storepass 123456(原始密碼) -new polinwei(新密碼)
  • -import:將已簽名數位憑證導入金鑰庫  keytool -import -alias 指定導入條目的別名 -keystore 指定keystore -file 需導入的證書