私は次の問題を抱えています:
Glassfish Webアプリケーションの無料の証明書をcomodo(90日)から取得し、次の方法で証明書をGlassfish 3.1にインポートしました http://javadude.wordpress.com/2010/04/06/getting- start-with-glassfish-v3-and-ssl /
また、エイリアスs1asを証明書エイリアスに、ファイルkeystore.jksをserver.keystoreに置き換えることで、domain.xmlファイルを変更しましたが、httpsプロトコルを使用してWebアプリケーションにアクセスしようとすると、次のログが表示されます。エラー:
[#| 2012-10-12T14:41:18.828 + 0200 |警告| glassfish3.1.2 | com.Sun.grizzly.config.Gr izzlyServiceListener | _ThreadID = 25; _ThreadName = http-thread-pool-443(1); | GRIZZLY00 07:SSLサポートを構成できませんでした! Java.io.IOException:使用可能な証明書またはキーが有効になっているSSL暗号スイートに対応していないため、SSL構成が無効です。
私を助けてください..私はここで私の問題の解決策を見つけることができることを知っています...
残念ながら、Glassfishコンソール管理者の画像を投稿するのに十分な評判はありませんが、テキストを使用するだけで誰かを助けようと思います。
注1:構成はUbuntu12.04サーバーとglassfish3.1.2で行われました。
Comodoはあなたに4つのファイルを与えます
すべての公開鍵をファイルcacerts.jksにインポートします。これを行うには、公開鍵ファイルを1つのファイルにマージします。
注2:ファイルの順序は重要です。
cat your_domain.crt PositiveSSLCA2.crt AddTrustExternalCARoot.crt > all.crt
次に、keytoolを使用してそれらをインポートします。
keytool -import -trustcacerts -alias Tomcat -file all.crt -keystore cacerts.jks
秘密鍵を使用してp12ファイルを作成します。
注3:すべてのファイルに同じパスワードを使用すると、作業が簡単になります。
openssl pkcs12 -export -in all.crt -inkey your_domain.key -out your_domain.p12 - name your_alias -CAfile PositiveSSLCA2.crt -caname immed
注4:エイリアス(your_alias)を忘れないでください。後でGlassfish管理コンソールで参照する必要があります。
次に、keytoolを使用して秘密鍵をインポートします。
keytool -importkeystore -deststorepass changeit -destkeypass changeit -destkeystore keystore.jks -srckeystore your_domain.p12 -srcstoretype PKCS12 -srcstorepass changeit -alias your_alias
これで、keystore.jks(秘密鍵を使用)とcacerts.jks(公開鍵を使用)を使用する準備が整いました。すべてが問題ないかどうかを確認したい場合は、以下を実行します。
keytool -list -keystore keystore.jks
keytool -list -keystore cacerts.jks
Glassfish管理コンソールに移動し、セッションを見つけます。
[SSL]タブに移動し、Certificate NickNameをyour_domainに変更します。
Glassfishサーバーを再起動します。
前提条件:
changeit
)~/mySourceKeystore.jks
パスワードmyPassword
およびエイリアスmyAlias
の秘密鍵~/myCertificate.crt
パスワードmyPassword
およびエイリアスmyAlias
~/AwesomeCA.crt
SSL証明書をGlassFishにインポートする方法のすべての手順は次のとおりです:
案内する GLASSFISH-HOME/domains/domain1/config
ソースキーストア(秘密キー付き)をGlassFishキーストアにインポートします。
$ keytool -importkeystore -srckeystore ~/mySourceKeystore.jks -destkeystore keystore.jks`
Enter destination keystore password: changeit
Enter source keystore password: myPassword
Entry for alias server successfully imported.
Import command completed: 1 entries successfully imported, 0 entries failed or cancelled
CAの証明書をGlassFishキーストアにインポートします。
$ keytool -import -v -trustcacerts -alias AwesomeCA -file ~/AwesomeCA.crt -keystore keystore.jks
Enter keystore password: changeit
Certificate was added to keystore
[Storing keystore.jks]
取得したSSL証明書をGlassFishキーストアにインポートします。
$ keytool -import -v -trustcacerts -alias myAlias -file ~/myCertificate.crt -keystore keystore.jks
Enter keystore password: changeit
Enter key password for <myAlias>: myPassword
Certificate reply was installed in keystore
[Storing keystore.jks]
この時点でエラーJava.security.UnrecoverableKeyException: Cannot recover key
キーストアパスワードとエイリアスキーパスワードが異なるため、GlassFishの起動中に発生します。このエラーを防ぐには、以下を実行する必要があります。
$ keytool -keypasswd -alias myAlias -new changeit -keystore keystore.jks
Enter keystore password: changeit
Enter key password for <myAlias>: myPassword
デフォルトのエイリアスを変更します(s1as
)GlassFishでmyAlias
に:
$ asadmin set configs.config.server-config.network-config.protocols.protocol.http-listener-2.ssl.cert-nickname=myAlias
(オプション)デフォルトのSSLポートを変更できます(8181
)GlassFishでよく知られている443
:
$ asadmin set server.network-config.network-listeners.network-listener.http-listener-2.port=443
GlassFishを再起動します