秘密鍵、サーバー証明書、中間証明書(CA証明書)の準備

Glassfishインスタンス停止


$ asadmin stop-domain
$ cd /usr/local/glassfish4/glassfish/domains/domain1/config


サーバー証明書の内容を「servercert.der」ファイルにコピー・ペーストして保存する。


$ vim servercert.der

-----BEGIN CERTIFICATE-----

<<省略>>

-----END CERTIFICATE-----


中間証明書の内容を「cacerts.x509」ファイルにコピー・ペーストして保存する。


$ vim cacerts.x509

-----BEGIN CERTIFICATE-----

<<省略>>

-----END CERTIFICATE-----


上記の2ファイルと予め持っている秘密鍵を「cert」フォルダに移動する。


$ mkdir cert
$ mv servercert.der cert
$ mv cacerts.x509 cert
$ mv back.jutakutenjijo.com.key cert


Glassfishのデフォルト署名ファイルを削除する(バックアップしたほうがいい)


$ mkdir bak
$ mv keystore.jks bak
$ mv cacerts.jks bak


証明書インストール

Import the certificates and key into a PKCS12形式


$ openssl pkcs12 -export -in cert/servercert.der -inkey cert/server.key -out keystore.pkcs12 -name "s1as"
Enter pass phrase for cert/server.key: Enter Export Password: Verifying - Enter Export Password:

※private pass phrase

pkcs12形式のデータをkeystoreにインポートする


$ keytool -importkeystore -srckeystore keystore.pkcs12 -destkeystore keystore.jks -srcstoretype pkcs12 -deststoretype jks

Enter destination keystore password:
Re-enter new password:
Enter source keystore password:
Entry for alias s1as successfully imported.
Import command completed:  1 entries successfully imported, 0 entries failed or cancelled


InsertCA証明書


keytool -import -file cert/cacerts.x509 -trustcacerts -alias s1as -keystore cacerts.jks

Enter keystore password:
Re-enter new password:
Certificate was added to keystore


確認


$ keytool -list -keystore keystore.jks

Enter keystore password:

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

s1as, Oct 23, 2014, PrivateKeyEntry,
Certificate fingerprint (SHA1): D9:C3:21:0B:E7:16:50:3B:C0:C9:36:31:CC:AC:AA:79:63:BB:63:89



$ keytool -list -keystore cacerts.jks

Enter keystore password:

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

s1as, Oct 23, 2014, trustedCertEntry,
Certificate fingerprint (SHA1): C0:39:A3:26:9E:E4:B8:E8:2D:00:C5:3F:A7:97:B5:A1:9E:83:6F:47


Glassfishインスタンス署名をチェンジ


$ asadmin start-domain

$ asadmin disable-secure-admin
$ asadmin stop-domain
$ asadmin start-domain

$ asadmin enable-secure-admin --adminalias=s1as --instancealias=s1as
$ asadmin stop-domain
$ asadmin start-domain