Wiremock: java.security.NoSuchAlgorithmException: clase configurada para SSLContext

Creado en 6 ago. 2014  ·  6Comentarios  ·  Fuente: tomakehurst/wiremock

Conseguí esto tratando de implementar WireMock en una prueba. ¿Alguna idea de lo que está pasando?

java.security.NoSuchAlgorithmException: class configured for SSLContext: sun.security.ssl.SSLContextImpl$TLS10Context not a SSLContext
    at sun.security.jca.GetInstance.checkSuperClass(GetInstance.java:258)
    at sun.security.jca.GetInstance.getInstance(GetInstance.java:237)
    at sun.security.jca.GetInstance.getInstance(GetInstance.java:164)
    at javax.net.ssl.SSLContext.getInstance(SSLContext.java:156)
    at com.github.tomakehurst.wiremock.http.HttpClientFactory.createSslSocketFactory(HttpClientFactory.java:108)
    at com.github.tomakehurst.wiremock.http.HttpClientFactory.createClientConnectionManagerWithSSLSettings(HttpClientFactory.java:88)
    at com.github.tomakehurst.wiremock.http.HttpClientFactory.createClient(HttpClientFactory.java:54)
    at com.github.tomakehurst.wiremock.http.HttpClientFactory.createClient(HttpClientFactory.java:70)
    at com.github.tomakehurst.wiremock.http.ProxyResponseRenderer.<init>(ProxyResponseRenderer.java:53)
    at com.github.tomakehurst.wiremock.WireMockServer.<init>(WireMockServer.java:96)
    at com.github.tomakehurst.wiremock.junit.WireMockRule$1.evaluate(WireMockRule.java:68)
    at org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl$PowerMockJUnit47MethodRunner.executeTest(PowerMockJUnit47RunnerDelegateImpl.java:91)
    at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$PowerMockJUnit44MethodRunner.runBeforesThenTestThenAfters(PowerMockJUnit44RunnerDelegateImpl.java:282)
    at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:86)
    at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:49)
    at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.invokeTestMethod(PowerMockJUnit44RunnerDelegateImpl.java:207)
    at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.runMethods(PowerMockJUnit44RunnerDelegateImpl.java:146)
    at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl$1.run(PowerMockJUnit44RunnerDelegateImpl.java:120)
    at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:33)
    at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:45)
    at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.run(PowerMockJUnit44RunnerDelegateImpl.java:118)
    at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.run(JUnit4TestSuiteChunkerImpl.java:104)
    at org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.run(AbstractCommonPowerMockRunner.java:53)
    at org.powermock.modules.junit4.PowerMockRunner.run(PowerMockRunner.java:53)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:211)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:67)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)

Comentario más útil

Hola, lo resolví con @PowerMockIgnore("javax.net.ssl.*")

Todos 6 comentarios

¿Podría volver a publicar esto en la lista de correo?

Creo que hay al menos otra persona que está teniendo este problema.

Gracias,
Tomás

Hola, lo resolví con @PowerMockIgnore("javax.net.ssl.*")

Yo también

Hola, lo resolví con @PowerMockIgnore("javax.net.ssl.*")

Eso es bueno. Obras.
¿Alguna idea de por qué funciona esto? ¿O por qué sucede esto de primera mano?

He encontrado la misma solución con la siguiente explicación:

Lo más probable es que esto se deba a que SSLContext es cargado por el cargador de clases de arranque y PowerMock no puede manipular el código de bytes de estas clases. Tienes que usar este enfoque para burlarte de ese método. / Johan Haleby
https://groups.google.com/forum/#!topic/powermock/v4nreP2AnOQ

Sí, The Solution también funciona para mí. Gracias......

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

MOUBARAKI picture MOUBARAKI  ·  5Comentarios

flyinfish picture flyinfish  ·  3Comentarios

natros picture natros  ·  5Comentarios

leoluz picture leoluz  ·  5Comentarios

samdnz picture samdnz  ·  3Comentarios