Salah satu SSL cert server hosting untuk payment gateway dah nak expired, company beli wildcard SSL cert untuk server baru dan jugak sebagai replacement SSL cert nak expired tu, jadi hanya perlu maintain satu wildcard SSL cert je la, lagi senang keja nak renew SSL cert. Company gunakan DigiCert untuk provider SSL cert.
Kena tukarkan SSL cert yang dah nak expired tu, environment server SUN Solaris OS, guna plak Glassfish Java Webserver. Ni first time tukarkan SSL cert kat Solaris. Sebelum ni dah try tanya Google camana nak tukarkan SSL cert. Dah dapatkan info-info yang berkaitan, lepas tu buat research lagi… sampai masanya cuba tukarkan SSL cert tu.
Mula-mula tukarkan cert dapat error.. cubaan yang berkali-kali, akhirnya berjaya install SSL cert yang baru tu… Error kali pertama tu disebabkan import cert dalam keystore.jks yang salah.
Untuk proses apply, process dan install SSL cert ni kena biasakan diri dengan keytool (keytool is a key and certificate management utility. It enables users to administer their own public/private key pairs and associated certificates for use in self-authentication (where the user authenticates himself/herself to other users/services) or data integrity and authentication services, using digital signatures. It also allows users to cache the public keys (in the form of certificates) of their communicating peers.). Search Google untuk dapatkan maklumat lanjut.
Summary proses untuk tukarkan SSL cert kat SUN Solaris – Glassfish Java Web Server :
1) Browse ke Glassfish config folder. Ini penting kerana keystore.jks terletak kat dalam ni.
cd /opt/SUNWappserver/domains/domain1/config
-Untuk memudahkan kerja dengan menggunakan default value web server je.
2) Generate satu SSL cert self-sign. Ni untuk dapatkan CSR.
keytool -genkey -keystore keystore.jks -keysize 2048 -alias asamad.co.cc -keyalg RSA
-Pastikan alias tu takde cert lain yang gunakan. Kalau alias tu dah diguna, akan keluar error bagitau alias tu dah digunakan. Contoh alias tu adalah asamad.co.cc
-Untuk password, gunakan je changeit. Tu adalah password default bagi keystore.jks
3) Generate CSR untuk apply SSL cert
keytool -certreq -keystore keystore.jks -keysize 2048 -alias asamad.co.cc -file asamad_csr.txt
-Proses ni adalah untuk generate CSR bagi nak apply SSL cert kat DigiCert. Output file adalah asamad_csr.txt. Semasa proses ni, keystore.jks akan minta password, gunakan changeit
4) Apply CSR ke mana-mana SSL cert authority (DigiCert)
-Pilih server yang berkaitan, dalam kes ni Java Web Server.
-Tunggu sampai SSL cert disediakan, kalau dah dapat SSL cert, download cert untuk TrustedRoot, IntermediateCA dengan ServerCert (DigiCert = TrustedRoot.crt, DigiCertCA.crt, namadomain.crt) Untuk DigiCert, download sekali bundle cert yang telah disediakan – Bundle cert ni dah complete dengan SSL chain dari TrustedRoot hingga ke server cert.
5) Install SSL cert.
-Untuk lebih selamat, better install TrustedRoot cert dengan IntermediateCA cert ke dalam keystore.jks
-Pastikan keystore.jks yang digunakan adalah di /opt/SUNWappserver/domains/domain1/config/keystore.jks
-Import TrustedRoot.crt dengan alias TrustedRoot
keytool -import -trustcacerts -alias TrustedRoot -file TrustedRoot.crt -keystore keystore.jks
-Import DigiCertCA.crt dengan alias DigiCertCA
keytool -import -trustcacerts -alias DigiCertCA -file DigiCertCA.crt -keystore keystore.jks
-Import server cert, sila install server cert dari digicert yang bundle
keytool -import -trustcacerts -alias asamad.co.cc -file namadomain.p7b -keystore keystore.jks
6) Verify SSL cert yang dah di install
keytool -list -v -keystore keystore.jks
-List semua SSL cert dalam keystore.jks. Pastikan alias SSL cert yang di install wujud dalam list tu.
-Glassfish Java Web Server akan gunakan keystore.jks dalam path /opt/SUNWappserver/domains/domain1/config/ sebagai default.
7) Update alias/nickname kat Glassfish config file domain.xml
-Boleh gunakan web admin interface untuk update, via http://namadomain.com:4848
-Lebih suka gunakan manual update untuk alias tu kat /opt/SUNWappserver/domains/domain1/config/domain.xml, buat backup domain.xml dulu kemudian tukarkan semua entry yang berkaitan. Search entry cert-nickname dan tukarkan value ke alias SSL cert yang baru, search entry encryption.key.alias dan signature.key.alias dan tukarkan jugak ke alias SSL cert baru.
8) Restart Glassfish Java Web Server
-Stop asadmin service
/opt/SUNWappserver/bin/asadmin stop-appserv
-Start asadmin service
/opt/SUNWappserver/bin/asadmin start-appserv
9) SSL cert sedia digunapakai.
** bagi sesiapa yang guna cara/process dalam blog ni dan dapat error, sila search kat Google, aku pun masih newbie gak ni.. kita sama-sama belajar.