web-dev-qa-db-ja.com

GlassfishにSSL証明書をインポートする

私は次の問題を抱えています:

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構成が無効です。

私を助けてください..私はここで私の問題の解決策を見つけることができることを知っています...

10
user1645419

残念ながら、Glassfishコンソール管理者の画像を投稿するのに十分な評判はありませんが、テキストを使用するだけで誰かを助けようと思います。

注1:構成はUbuntu12.04サーバーとglassfish3.1.2で行われました。

Comodoはあなたに4つのファイルを与えます

  • your_domain.key(秘密鍵)
  • your_domain.crt(公開鍵)
  • PositiveSSLCA2.crt(CA公開鍵)
  • AddTrustExternalCARoot.crt(CA公開鍵)

すべての公開鍵をファイル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管理コンソールに移動し、セッションを見つけます。

  • 構成-> server-config-> HTTPサービス-> Httpリスナー-> http-listener-2

[SSL]タブに移動し、Certificate NickNameyour_domainに変更します。

Glassfishサーバーを再起動します。

24
Daniel Camargo

前提条件:

  • インストールされたkeytoolとGlassFish4.x(デフォルトのキーストアパスワードchangeit
  • cSRの生成に使用されるソースキーストア
    • 例えば~/mySourceKeystore.jksパスワードmyPasswordおよびエイリアスmyAliasの秘密鍵
  • 有効な証明書(CAから取得)
    • 例えば~/myCertificate.crtパスワードmyPasswordおよびエイリアスmyAlias
  • cAの証明書(CAから取得)
    • 例えば~/AwesomeCA.crt

SSL証明書をGlassFishにインポートする方法のすべての手順は次のとおりです:

  1. 案内する GLASSFISH-HOME/domains/domain1/config

  2. ソースキーストア(秘密キー付き)を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
    
  3. 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]
    
  4. 取得した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]
    
  5. この時点でエラー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
    
  6. デフォルトのエイリアスを変更します(s1as)GlassFishでmyAliasに:

    $ asadmin set configs.config.server-config.network-config.protocols.protocol.http-listener-2.ssl.cert-nickname=myAlias
    
  7. (オプション)デフォルトのSSLポートを変更できます(8181)GlassFishでよく知られている443

    $ asadmin set server.network-config.network-listeners.network-listener.http-listener-2.port=443
    
  8. GlassFishを再起動します

4
lu_ko

Glassfish 4.xの場合、次のことができます このコモドガイド

これが ウェブアーカイブ リンクの有効期限が切れた場合です。