Toto je krátky návod, ktorý by mal pomôcť pri konfigurácii HTTPS komunikácie vo vývojom prostredí, ktoré obsahuje aplikačný server JBoss 5.1.0.GA a aplikáciu vygenerovanú nástrojom seam-gen vo verzii 2.1.2.
- Vygenerovanie "selfsigned" certifikátu ak nemáme žiadny k dispozícii.
- Nastavenie JBoss HTTPS konektora.
- Konfigurácia stránok v Seame.
Vygenerovanie "selfsigned" certifikátu ak nemáme žiadny k dispozícii.
Na generovanie použijeme nástroj keytool, ktorý sa štandardne nachádza v Sun JDK.
cd %JAVA_HOME%\bin
C:\Program Files\Java\jdk1.6.0_10\bin\keytool -genkeypair -alias devServerCert -keyalg RSA -validity 1500 -keystore devServer.keystore
Enter keystore password: devserver
Re-enter new password: devserver
What is your first and last name?
[Unknown]: Meno Priezvisko
What is the name of your organizational unit?
[Unknown]: oddelenie
What is the name of your organization?
[Unknown]: spolocnost
What is the name of your City or Locality?
[Unknown]: mesto
What is the name of your State or Province?
[Unknown]: stat
What is the two-letter country code for this unit?
[Unknown]: sk
Is CN=Meno Priezvisko, OU=oddelenie, O=spolocnost, L=mesto, ST=stat, C=sk correct?
[no]: yes
Enter key password for devservercert enter
(RETURN if same as keystore password):
Je potrebné si uvedomiť, že heslo pre kľúč je také isté ako heslo pre keystore, preto je ako vstup na konci iba enter.
Vygenerovaný súbor
devServer.keystore okopírujeme do
...jboss-5.1.0.GA\server\default\conf\ za predpokladu, že používame profil default.
Nastavenie JBoss HTTPS konektora.
Za predpokladu, že používame profil default je potrebné zmeniť súbor
...\jboss-5.1.0.GA\server\default\deploy\jbossweb.sar\server.xml takto:
...
<Connector protocol="HTTP/1.1" SSLEnabled="true"
port="8443" address="${jboss.bind.address}"
scheme="https" secure="true" clientAuth="false"
keystoreFile="${jboss.server.home.dir}/conf/devServer.keystore"
keystorePass="devserver" sslProtocol = "TLS" />
...
kde:
keystoreFile - je cesta kde je uložený
devServer.keystore súbor
keystorePass - je heslo pre keystore a zároveň aj pre klúč v ňom uložený
Konfigurácia stránok v Seame.
- konfigurácia portov pre HTTP (8080) a HTTPS (8443) v štandartnom konfiguračnom súbore pages.xml
<?xml version="1.0" encoding="UTF-8"?>
<pages xmlns="http://jboss.com/products/seam/pages"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.1.xsd"
no-conversation-view-id="/home.xhtml"
login-view-id="/login.xhtml"
http-port="8080"
https-port="8443">
...
- nastavenie pre konkrétnu stránku aby sa zobrazovala cez HTTPS protokol (v prípade, že request bude požadovať HTTP presmeruje sa na HTTPS), napríklad pre stránku login.xhtml stačí pridať scheme="https" do súboru login.page.xml
<?xml version="1.0" encoding="UTF-8"?>
<page xmlns="http://jboss.com/products/seam/pages"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.1.xsd"
scheme="https">
...