Jira サーバーから外部システムへの SSL 接続に失敗する

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

症状

  1. SSL 接続でテストメールを送信すると、メールが送信されない。
  2. Jira アプリケーションは、UPM にアクセスしてプラグインをインストール/アップグレードできなくなる 

atlassian-jira.log に次のメッセージが表示される。

com.sun.jersey.api.client.ClientHandlerException: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
   at com.sun.jersey.client.apache.ApacheHttpClientHandler.handle(ApacheHttpClientHandler.java:202)
   at com.sun.jersey.api.client.Client.handle(Client.java:365)
   at com.sun.jersey.api.client.WebResource.handle(WebResource.java:556)
   at com.sun.jersey.api.client.WebResource.get(WebResource.java:178)
   at com.atlassian.plugins.client.service.product.ProductServiceClientImpl.getProductVersionsAfterVersion(ProductServiceClientImpl.java:82)
   at com.atlassian.upm.pac.PacClientImpl.getProductUpgrades(PacClientImpl.java:111)
   at com.atlassian.upm.rest.resources.ProductUpgradesResource.get(ProductUpgradesResource.java:39)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker$1.invoke(DispatchProviderHelper.java:206)
   at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$1.intercept(DispatchProviderHelper.java:90)
   at com.atlassian.plugins.rest.common.interceptor.impl.DefaultMethodInvocation.invoke(DefaultMethodInvocation.java:61)
   at com.atlassian.plugins.rest.common.expand.interceptor.ExpandInterceptor.intercept(ExpandInterceptor.java:38)
   at com.atlassian.plugins.rest.common.interceptor.impl.DefaultMethodInvocation.invoke(DefaultMethodInvocation.java:61)
   at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper.invokeMethodWithInterceptors(DispatchProviderHelper.java:98)
   at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper.access$100(DispatchProviderHelper.java:28)
   at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$ResponseOutInvoker._dispatch(DispatchProviderHelper.java:202)
   ...
Caused by: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
   ...
Caused by: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
   ...
Caused by: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

原因

JVM が SSL に必要な javax.net.ssl.trustStore を見つけられないか、必要な証明書が含まれていないか、予期された形式ではありません。

標準インストールでは、この JVM 引数を使用することはお勧めしません。代わりに、JVM のデフォルトのキーストアに証明書が追加されます。このキーストアは、通常は $JAVA_HOME/jre/lib/security/cacerts または Tomcat で使用されるキーストアにあります。「SSL または HTTPS 上で Jira アプリケーションを実行する 」に記載の通りです。
その場合、Jira プロセスを実行しているユーザーが cacerts ファイルにアクセスする適切な権限を持っていることを確認します。

ソリューション

SSL サービスへの接続」を参照してください。このドキュメントでは、アクセスするサービスの証明書を取得し、推奨されるJava キーストアにインポートする手順を説明しています。さらに、現在のキーストア タイプを確認してください。

<JAVA_HOME>/bin/keytool -list -keystore <JAVA_HOME>/lib/security/cacerts>

出力結果からキーストアが PKCS であることがわかった場合は、JKS に変換する必要があります。すべての手順が完了したら、変更を有効にするために Jira を再起動する必要があります。

keytool -importkeystore -srckeystore cacerts -destkeystore cacertsJKS -deststoretype JKS

そして、初期状態の cacerts を cacertsPKCS に、cacertsJKS を cacerts に名前変更します。 


tip/resting Created with Sketch.

 Tomcat で指定されているような標準以外のキーストアを使用している場合は、そのキーストアに証明書をインポートしてください。

最終更新日 2023 年 6 月 28 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.