pátek 1. července 2011

SSL certifikát pro více subdomén spravovaných jedním serverem glassfish

Případ, kdy je více domén 3.řádu (k jedné doméně 2. řádu) obsluhováno jedním serverem je celkem častý. Pokud tyto domény využívají SSL je zde možnost využít  certifikát vystavený pro všechny domény třetího řádu (*.mojedomena.com)
Popíši teď postup pro případ, kdy si vytvořím certifikát podepsaný sám sebou. Budu předpokládat, že alias certifikátu nastavený v http listeneru serveru glassfish se jmenuje s1as. V Admin consoli je toto nastavení v Configuration - Network Config - Network Listeners - http-listener-nazev - záložka SSL - Certificate NickName. Všechni níže uváděné příkazy jsou prováděny v
1) Nejprve smažu dosud používaný privátní klíč:
 keytool -delete -alias s1as -keystore keystore.jks -storepass changeit  
2) Smažu certifikát:
 keytool -delete -alias s1as -keystore cacerts.jks -storepass changeit  
3) Vytvořím privátní klíč:
 keytool -genkey -alias s1as -keypass changeit -storepass changeit -keystore keystore.jks  
4) Předchozí příkaz je interaktivní. Je nutné na otázku "What is your first and last name?" napsat "*.mojedomena.com" další odpovědi již nejsou tolik významené.
5) Exportuji do souboru certifikát:
 keytool -export -alias s1as -storepass changeit -file cert.cer -keystore keystore.jks  
6) Importuji certifikát do cacerts:
 keytool -import -v -trustcacerts -alias s1as -file servercpost.cer -keystore cacerts.jks -keypass changeit -storepass changeit  

Hotovo, nyní by již měl glassfish po restartu na příchozí https požadavky využít nový "hvězdičkový" certifikát.