"IOException: parseAlgParameters failed:JDK の上位メジャーバージョンで生成した PKCS#12 証明書で Elasticsearch への接続を確保した後、起動時に "ObjectIdentifier()" エラーが発生する。

問題

  • Elasticsearch への接続を確保した後、より具体的には、Liferay DXP を実行している JDK よりも高いメジャーバージョンを持つ JDK で keytool を使用して Elasticsearch 証明書 .p12 を生成した後、Liferay DXP は起動しない。 例えばLiferay DXP は JDK8 を使用しており、あなたは JDK11 を使用して Elasticsearch の証明書を生成しています。
  • 表示されるエラーは
    The activate method has thrown an exception

    java.lang.RuntimeException: java.io.IOException: parseAlgParameters failed: ObjectIdentifier() -- data isn't an object ID (tag = 48)

    at com.liferay.portal.search.elasticsearch7.internal.connection.RestHighLevelClientFactory.createSSLContext(RestHighLevelClientFactory.java:172)

環境

  • JDK バージョン 8 を使用する Liferay DXP
  • JDK バージョン 8 以上で生成された PKCS#12 証明書 (.p12)。

解像度

これはJDKのバグです。 以下のことが可能です。

  • A.) LiferayとElasticsearchの両サーバーで同じバージョンのJDKを使用する。
  • B.) 鍵屋にPKCS12ではなくJKS形式を使用する

追加情報

この記事は役に立ちましたか?
1人中1人がこの記事が役に立ったと言っています