You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by GitBox <gi...@apache.org> on 2022/03/25 06:15:55 UTC

[GitHub] [pulsar] massakam opened a new pull request #14860: [test] Regenerate keystore files so that JettySslContextFactoryWithAutoRefreshTest passes on JDK 8

massakam opened a new pull request #14860:
URL: https://github.com/apache/pulsar/pull/14860


   ### Motivation
   
   Currently, `JettySslContextFactoryWithAutoRefreshTest` always fails on JDK 8.
   <details>
   
   ```
   [ERROR] Tests run: 4, Failures: 1, Errors: 0, Skipped: 3, Time elapsed: 2.165 s <<< FAILURE! - in org.apache.pulsar.common.util.keystoretls.JettySslContextFactoryWithAutoRefreshTest
   [ERROR] testJettyTlsServerInvalidCipher(org.apache.pulsar.common.util.keystoretls.JettySslContextFactoryWithAutoRefreshTest)  Time elapsed: 0.049 s  <<< FAILURE!
   org.testng.TestException:
   
   Expected exception of type class javax.net.ssl.SSLHandshakeException but got java.lang.NullPointerException
           at org.testng.internal.ExpectedExceptionsHolder.wrongException(ExpectedExceptionsHolder.java:68)
           at org.testng.internal.TestInvoker.considerExceptions(TestInvoker.java:737)
           at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:635)
           at org.testng.internal.TestInvoker.retryFailed(TestInvoker.java:214)
           at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:58)
           at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)
           at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)
           at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
           at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
           at java.util.ArrayList.forEach(ArrayList.java:1259)
           at org.testng.TestRunner.privateRun(TestRunner.java:764)
           at org.testng.TestRunner.run(TestRunner.java:585)
           at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
           at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
           at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
           at org.testng.SuiteRunner.run(SuiteRunner.java:286)
           at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
           at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
           at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)
           at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
           at org.testng.TestNG.runSuites(TestNG.java:1069)
           at org.testng.TestNG.run(TestNG.java:1037)
           at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:135)
           at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeSingleClass(TestNGDirectoryTestSuite.java:112)
           at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeLazy(TestNGDirectoryTestSuite.java:123)
           at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:90)
           at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:146)
           at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
           at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
           at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
           at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
   Caused by: java.lang.NullPointerException
           at org.eclipse.jetty.util.ssl.SslContextFactory.newSSLEngine(SslContextFactory.java:1904)
           at org.eclipse.jetty.server.SslConnectionFactory.doStart(SslConnectionFactory.java:99)
           at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
           at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
           at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
           at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:321)
           at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:81)
           at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:234)
           at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
           at org.eclipse.jetty.server.Server.doStart(Server.java:401)
           at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
           at org.apache.pulsar.common.util.keystoretls.JettySslContextFactoryWithAutoRefreshTest.testJettyTlsServerInvalidCipher(JettySslContextFactoryWithAutoRefreshTest.java:143)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
           at java.lang.reflect.Method.invoke(Method.java:498)
           at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
           at org.testng.internal.InvokeMethodRunnable.runOne(InvokeMethodRunnable.java:45)
           at org.testng.internal.InvokeMethodRunnable.call(InvokeMethodRunnable.java:73)
           at org.testng.internal.InvokeMethodRunnable.call(InvokeMethodRunnable.java:11)
           at java.util.concurrent.FutureTask.run(FutureTask.java:266)
           at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
           at java.lang.Thread.run(Thread.java:748)
   ```
   </details>
   
   This seems to be due to the keystore files for `JettySslContextFactoryWithAutoRefreshTest` using the `HmacPBESHA256` algorithm, which is not supported by JDK 8.
   ```sh
   $ keytool -list -v -storepass jetty_server_pwd -storetype pkcs12 -keystore pulsar-common/src/test/resources/ssl/jetty_server_key.jks
   
   keytool error: java.io.IOException: Integrity check failed: java.security.NoSuchAlgorithmException: Algorithm HmacPBESHA256 not available
   java.io.IOException: Integrity check failed: java.security.NoSuchAlgorithmException: Algorithm HmacPBESHA256 not available
           at sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:2129)
           at java.security.KeyStore.load(KeyStore.java:1445)
           at sun.security.tools.keytool.Main.doCommands(Main.java:836)
           at sun.security.tools.keytool.Main.run(Main.java:377)
           at sun.security.tools.keytool.Main.main(Main.java:370)
   Caused by: java.security.NoSuchAlgorithmException: Algorithm HmacPBESHA256 not available
           at javax.crypto.Mac.getInstance(Mac.java:181)
           at sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:2107)
           ... 4 more
   ```
   
   ### Modifications
   
   Regenerated the keystore files so that they can also be opened on JDK 8.
   ```sh
   $ keytool -importkeystore -srckeystore jetty_server_key.jks -destkeystore jetty_server_key_NEW.jks -srcstoretype pkcs12 -deststoretype pkcs12
   $ mv jetty_server_key_NEW.jks jetty_server_key.jks
   ```
   
   ### Verifying this change
   
   - [ ] Make sure that the change passes the CI checks.
   
   ### Documentation
   
   - [ ] `no-need-doc`
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [pulsar] merlimat merged pull request #14860: [test] Regenerate keystore files so that JettySslContextFactoryWithAutoRefreshTest passes on JDK 8

Posted by GitBox <gi...@apache.org>.
merlimat merged pull request #14860:
URL: https://github.com/apache/pulsar/pull/14860


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org