Git Product home page Git Product logo

Comments (8)

tkohegyi avatar tkohegyi commented on September 21, 2024

In connection with issue bcgit/bc-java#862

from mitmjavaproxy.

tkohegyi avatar tkohegyi commented on September 21, 2024

A more detailed exc log become available:

21:46:26.654 [Test worker] INFO  n.l.bmp.proxy.jetty.util.Container - Started net.lightbody.bmp.proxy.jetty.jetty.BmpServer@3d43aa3
21:46:26.654 [Test worker] INFO  o.r.m.p.h.AbstractComplexProxyTool - *** Backed http Server started on port: 59835
21:46:26.654 [Test worker] INFO  o.r.m.p.h.AbstractComplexProxyTool - *** Backed httpS Server started on port: 59848
21:46:26.654 [Test worker] INFO  o.r.m.p.h.AbstractComplexProxyTool - *** Backed http/stub Server started on port: 59861
21:46:26.654 [Test worker] INFO  o.r.m.p.h.AbstractComplexProxyTool - *** Proxy Server started on port: 59874
21:46:26.654 [Test worker] INFO  o.r.m.p.h.AbstractComplexProxyTool - STUB URL used: http://127.0.0.1:59861/stub
21:46:26.654 [Test worker] INFO  o.r.m.p.h.AbstractComplexProxyTool - *** Setup DONE - starting TEST
21:46:26.656 [SocketListener55-1] DEBUG n.l.b.p.jetty.http.HttpConnection - new HttpConnection: Socket[addr=/127.0.0.1,port=59875,localport=59874]
21:46:26.656 [SocketListener55-1] DEBUG n.l.b.p.jetty.http.HttpConnection - Normal handling - start
21:46:26.656 [SocketListener55-1] DEBUG n.l.bmp.proxy.jetty.http.HttpRequest - Line read: CONNECT 127.0.0.1:59848 HTTP/1.1
21:46:26.656 [SocketListener55-1] DEBUG n.l.b.p.jetty.http.HttpConnection - Normal handling - valid request
21:46:26.656 [SocketListener55-1] DEBUG n.l.b.p.jetty.http.HttpConnection - Normal handling - handle headers
21:46:26.656 [SocketListener55-1] DEBUG n.l.b.p.jetty.http.HttpConnection - Normal handling - handle version specifics
21:46:26.656 [SocketListener55-1] DEBUG n.l.b.p.jetty.http.HttpConnection - REQUEST from [email protected]:59874:
CONNECT 127.0.0.1:59848 HTTP/1.1  Host: 127.0.0.1:59848  User-Agent: Apache-HttpClient/4.5.13 (Java/13.0.2)
21:46:26.656 [SocketListener55-1] DEBUG n.l.bmp.proxy.jetty.http.HttpServer - Try HttpContext[/,/],0
21:46:26.656 [SocketListener55-1] DEBUG n.l.bmp.proxy.jetty.http.HttpContext - Handler net.lightbody.bmp.proxy.BrowserMobProxyHandler in HttpContext[/,/]
21:46:26.656 [SocketListener55-1] DEBUG n.l.b.p.s.SeleniumProxyHandler - CONNECT: 127.0.0.1:59848
21:46:26.785 [SocketListener55-1] DEBUG n.l.bmp.proxy.jetty.util.Container - add component: [email protected]:0
21:46:26.785 [SocketListener55-1] INFO  n.l.bmp.proxy.jetty.http.SslListener - SslListener - newServerSocket start
21:46:26.785 [SocketListener55-1] INFO  n.l.bmp.proxy.jetty.http.SslListener - SslListener - createFactory/started
21:46:26.794 [SocketListener55-1] INFO  n.l.bmp.proxy.jetty.http.SslListener - SslListener - createFactory/ended, returning
21:46:26.794 [SocketListener55-1] INFO  n.l.bmp.proxy.jetty.http.SslListener - SslListener - newServerSocket end
21:46:26.794 [SocketListener55-1] INFO  n.l.b.p.jetty.http.SocketListener - Started SocketListener on 0.0.0.0:59876
21:46:26.795 [SocketListener55-1] DEBUG n.l.bmp.proxy.jetty.http.HttpContext - Handled by net.lightbody.bmp.proxy.BrowserMobProxyHandler in HttpContext[/,/]
21:46:26.795 [SeleniumProxyHandler$SslRelay56-1] DEBUG n.l.b.p.jetty.http.HttpConnection - new HttpConnection: Socket[addr=/127.0.0.1,port=59877,localport=59876]
21:46:26.795 [SocketListener55-1] DEBUG n.l.b.p.jetty.http.HttpConnection - RESPONSE:
HTTP/1.1 200 OK Date: Wed, 06 Jan 2021 20:46:26 GMT
Server: Jetty/5.1.x (Windows 10/10.0 amd64 java/13.0.2
Connection: close Content-Length: 0
21:46:26.795 [SocketListener55-1] DEBUG n.l.b.p.jetty.http.HttpConnection - Tunnel: net.lightbody.bmp.proxy.jetty.http.HttpTunnel@139387aa
21:46:26.796 [SeleniumProxyHandler$SslRelay56-1] DEBUG n.l.b.p.jetty.http.HttpConnection - Normal handling - start
21:46:26.801 [SocketListener55-1] WARN  n.l.b.p.jetty.http.HttpConnection - EXCEPTION 
java.net.SocketException: Socket is closed
	at java.base/java.net.Socket.shutdownOutput(Socket.java:1605) ~[na:na]
	at net.lightbody.bmp.proxy.jetty.http.HttpConnection.close(HttpConnection.java:252) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.HttpConnection.destroy(HttpConnection.java:1032) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.HttpConnection.handle(HttpConnection.java:749) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.SocketListener.handleConnection(SocketListener.java:183) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.util.ThreadedServer.handle(ThreadedServer.java:243) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.util.ThreadPool$PoolThread.run(ThreadPool.java:365) ~[main/:na]
21:46:26.801 [SeleniumProxyHandler$SslRelay56-1] DEBUG n.l.b.p.jetty.http.HttpConnection - Normal handling issue
javax.net.ssl.SSLException: arraycopy: last source index 32 out of bounds for byte[31]
	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:133) ~[na:na]
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:324) ~[na:na]
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:267) ~[na:na]
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:262) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1652) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:443) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketImpl.ensureNegotiated(SSLSocketImpl.java:878) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:969) ~[na:na]
	at net.lightbody.bmp.proxy.jetty.util.LineInput.fill(LineInput.java:417) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.util.LineInput.fillLine(LineInput.java:482) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.util.LineInput.readLineBuffer(LineInput.java:273) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.util.LineInput.readLineBuffer(LineInput.java:259) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.HttpRequest.readHeader(HttpRequest.java:226) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.HttpConnection.readRequest(HttpConnection.java:764) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.HttpConnection.handleNext(HttpConnection.java:803) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.HttpConnection.handle(HttpConnection.java:744) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.SocketListener.handleConnection(SocketListener.java:183) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.util.ThreadedServer.handle(ThreadedServer.java:243) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.util.ThreadPool$PoolThread.run(ThreadPool.java:365) ~[main/:na]
Caused by: java.lang.ArrayIndexOutOfBoundsException: arraycopy: last source index 32 out of bounds for byte[31]
	at java.base/java.lang.System.arraycopy(Native Method) ~[na:na]
…
	... 13 common frames omitted
21:46:26.802 [SeleniumProxyHandler$SslRelay56-1] DEBUG n.l.b.p.jetty.http.HttpConnection - Normal handling issue - cause
java.lang.ArrayIndexOutOfBoundsException: arraycopy: last source index 32 out of bounds for byte[31]
	at java.base/java.lang.System.arraycopy(Native Method) ~[na:na]
	at org.bouncycastle.crypto.params.X25519PublicKeyParameters.<init>(Unknown Source) ~[bcprov-jdk15on-1.68.jar:1.68.0]
	at org.bouncycastle.jcajce.provider.asymmetric.edec.KeyAgreementSpi.engineDoPhase(KeyAgreementSpi.java:163) ~[bcprov-jdk15on-1.68.jar:1.68.0]
	at java.base/javax.crypto.KeyAgreement.doPhase(KeyAgreement.java:579) ~[na:na]
	at java.base/sun.security.ssl.KAKeyDerivation.t13DeriveKey(KAKeyDerivation.java:104) ~[na:na]
	at java.base/sun.security.ssl.KAKeyDerivation.deriveKey(KAKeyDerivation.java:63) ~[na:na]
	at java.base/sun.security.ssl.ServerHello$T13ServerHelloProducer.produce(ServerHello.java:607) ~[na:na]
	at java.base/sun.security.ssl.SSLHandshake.produce(SSLHandshake.java:440) ~[na:na]
	at java.base/sun.security.ssl.ClientHello$T13ClientHelloConsumer.goServerHello(ClientHello.java:1252) ~[na:na]
	at java.base/sun.security.ssl.ClientHello$T13ClientHelloConsumer.consume(ClientHello.java:1188) ~[na:na]
	at java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.onClientHello(ClientHello.java:851) ~[na:na]
	at java.base/sun.security.ssl.ClientHello$ClientHelloConsumer.consume(ClientHello.java:812) ~[na:na]
	at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396) ~[na:na]
	at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444) ~[na:na]
	at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:422) ~[na:na]
	at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:181) ~[na:na]
	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1460) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1368) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:437) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketImpl.ensureNegotiated(SSLSocketImpl.java:878) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:969) ~[na:na]
	at net.lightbody.bmp.proxy.jetty.util.LineInput.fill(LineInput.java:417) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.util.LineInput.fillLine(LineInput.java:482) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.util.LineInput.readLineBuffer(LineInput.java:273) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.util.LineInput.readLineBuffer(LineInput.java:259) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.HttpRequest.readHeader(HttpRequest.java:226) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.HttpConnection.readRequest(HttpConnection.java:764) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.HttpConnection.handleNext(HttpConnection.java:803) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.HttpConnection.handle(HttpConnection.java:744) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.SocketListener.handleConnection(SocketListener.java:183) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.util.ThreadedServer.handle(ThreadedServer.java:243) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.util.ThreadPool$PoolThread.run(ThreadPool.java:365) ~[main/:na]
21:46:26.808 [Test worker] ERROR o.r.m.p.h.AbstractComplexProxyTool - An established connection was aborted by the software in your host machine
javax.net.ssl.SSLException: An established connection was aborted by the software in your host machine
	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127) ~[na:na]
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:324) ~[na:na]
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:267) ~[na:na]
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:262) ~[na:na]
	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:137) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1460) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1368) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:437) ~[na:na]
	at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:436) ~[httpclient-4.5.13.jar:4.5.13]
	at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.upgrade(DefaultHttpClientConnectionOperator.java:191) ~[httpclient-4.5.13.jar:4.5.13]
	at org.apache.http.impl.conn.BasicHttpClientConnectionManager.upgrade(BasicHttpClientConnectionManager.java:325) ~[httpclient-4.5.13.jar:4.5.13]
	at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:428) ~[httpclient-4.5.13.jar:4.5.13]
	at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) ~[httpclient-4.5.13.jar:4.5.13]
	at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186) ~[httpclient-4.5.13.jar:4.5.13]
	at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) ~[httpclient-4.5.13.jar:4.5.13]
	at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) ~[httpclient-4.5.13.jar:4.5.13]
	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) ~[httpclient-4.5.13.jar:4.5.13]
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:118) ~[httpclient-4.5.13.jar:4.5.13]
	at org.rockhill.mitm.proxy.help.AbstractComplexProxyTool.httpPostWithApacheClient(AbstractComplexProxyTool.java:185) ~[test/:na]
	at org.rockhill.mitm.proxy.ComplexMitmComplexProxyTest.testSimplePostRequestOverHTTPSToStub(ComplexMitmComplexProxyTest.java:94) ~[test/:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
….
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) ~[na:na]
	at java.base/java.lang.Thread.run(Thread.java:830) ~[na:na]
Caused by: java.net.SocketException: An established connection was aborted by the software in your host machine
	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:326) ~[na:na]
	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:351) ~[na:na]
	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:802) ~[na:na]
	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:937) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:450) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:165) ~[na:na]
	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:108) ~[na:na]
	... 64 common frames omitted
21:46:26.809 [Test worker] INFO  o.r.m.p.h.AbstractComplexProxyTool - *** Test DONE - starting TEARDOWN
21:46:26.809 [Test worker] DEBUG n.l.bmp.proxy.jetty.util.Container - remove component: [email protected]:59876
21:46:26.809 [Test worker] DEBUG n.l.b.p.jetty.util.ThreadedServer - closing [SSL: ServerSocket[addr=0.0.0.0/0.0.0.0,localport=59876]]
21:46:26.809 [Acceptor [SSL: ServerSocket[addr=0.0.0.0/0.0.0.0,localport=59876]]] INFO  n.l.b.p.jetty.util.ThreadedServer - Stopping Acceptor [SSL: ServerSocket[addr=0.0.0.0/0.0.0.0,localport=59876]]
21:46:26.910 [Test worker] INFO  n.l.b.p.jetty.http.SocketListener - Stopped SocketListener on 0.0.0.0:59876
21:46:26.910 [Test worker] DEBUG n.l.b.p.http.BrowserMobHttpClient$1 - Connection manager is shutting down
21:46:26.910 [Test worker] DEBUG n.l.b.p.http.BrowserMobHttpClient$1 - Connection manager shut down
21:46:26.910 [Test worker] DEBUG n.l.bmp.proxy.jetty.util.Container - Stopping net.lightbody.bmp.proxy.jetty.jetty.BmpServer@3d43aa3
21:46:26.910 [Test worker] DEBUG n.l.b.p.jetty.util.ThreadedServer - closing ServerSocket[addr=0.0.0.0/0.0.0.0,localport=59874]
21:46:26.910 [Acceptor ServerSocket[addr=0.0.0.0/0.0.0.0,localport=59874]] INFO  n.l.b.p.jetty.util.ThreadedServer - Stopping Acceptor ServerSocket[addr=0.0.0.0/0.0.0.0,localport=59874]
21:46:27.021 [Test worker] INFO  n.l.b.p.jetty.http.SocketListener - Stopped SocketListener on 0.0.0.0:59874
21:46:27.021 [Test worker] DEBUG n.l.bmp.proxy.jetty.util.Container - Stopping HttpContext[/,/]
21:46:27.021 [Test worker] DEBUG n.l.b.p.j.h.h.AbstractHttpHandler - Stopped net.lightbody.bmp.proxy.BrowserMobProxyHandler in HttpContext[/,/]
21:46:27.056 [Test worker] INFO  n.l.bmp.proxy.jetty.util.Container - Stopped HttpContext[/,/]
21:46:27.056 [Test worker] INFO  n.l.bmp.proxy.jetty.util.Container - Stopped net.lightbody.bmp.proxy.jetty.jetty.BmpServer@3d43aa3

An established connection was aborted by the software in your host machine
javax.net.ssl.SSLException: An established connection was aborted by the software in your host machine
	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:324)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:267)
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:262)
	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:137)
	at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1460)
	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1368)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:437)
	at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:436)
	at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.upgrade(DefaultHttpClientConnectionOperator.java:191)
	at org.apache.http.impl.conn.BasicHttpClientConnectionManager.upgrade(BasicHttpClientConnectionManager.java:325)
	at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:428)
	at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
	at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
	at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
	at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:118)
	at org.rockhill.mitm.proxy.help.AbstractComplexProxyTool.httpPostWithApacheClient(AbstractComplexProxyTool.java:185)
	at org.rockhill.mitm.proxy.ComplexMitmComplexProxyTest.testSimplePostRequestOverHTTPSToStub(ComplexMitmComplexProxyTest.java:94)
	at java.base/java.lang.Thread.run(Thread.java:830)
	Suppressed: java.net.SocketException: An established connection was aborted by the software in your host machine
		at java.base/sun.nio.ch.NioSocketImpl.implWrite(NioSocketImpl.java:421)
		at java.base/sun.nio.ch.NioSocketImpl.write(NioSocketImpl.java:441)
		at java.base/sun.nio.ch.NioSocketImpl$2.write(NioSocketImpl.java:825)
		at java.base/java.net.Socket$SocketOutputStream.write(Socket.java:1007)
		at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:82)
		at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:355)
		... 67 more
Caused by: java.net.SocketException: An established connection was aborted by the software in your host machine
	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:326)
	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:351)
	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:802)
	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:937)
	at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:450)
	at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:165)
	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:108)
	... 64 more


from mitmjavaproxy.

tkohegyi avatar tkohegyi commented on September 21, 2024

And another type of the same arrayindexoutofbouds problem:

21:40:44.779 [SeleniumProxyHandler$SslRelay134-1] DEBUG n.l.b.p.http.BrowserMobHttpClient - EX @ call to server from proxy.
javax.net.ssl.SSLException: arraycopy: last source index 32 out of bounds for byte[31]
	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:133) ~[na:na]
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:324) ~[na:na]
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:267) ~[na:na]
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:262) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1652) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:443) ~[na:na]
	at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:436) ~[httpclient-4.5.13.jar:4.5.13]
	at net.lightbody.bmp.proxy.http.TrustingSSLSocketFactory.createLayeredSocket(TrustingSSLSocketFactory.java:103) ~[main/:na]
	at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:384) ~[httpclient-4.5.13.jar:4.5.13]
	at net.lightbody.bmp.proxy.http.TrustingSSLSocketFactory.connectSocket(TrustingSSLSocketFactory.java:89) ~[main/:na]
	at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142) ~[httpclient-4.5.13.jar:4.5.13]
	at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376) ~[httpclient-4.5.13.jar:4.5.13]
	at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393) ~[httpclient-4.5.13.jar:4.5.13]
	at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) ~[httpclient-4.5.13.jar:4.5.13]
	at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186) ~[httpclient-4.5.13.jar:4.5.13]
	at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) ~[httpclient-4.5.13.jar:4.5.13]
	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) ~[httpclient-4.5.13.jar:4.5.13]
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) ~[httpclient-4.5.13.jar:4.5.13]
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56) ~[httpclient-4.5.13.jar:4.5.13]
	at net.lightbody.bmp.proxy.http.BrowserMobHttpClient.execute(BrowserMobHttpClient.java:466) ~[main/:na]
	at net.lightbody.bmp.proxy.http.BrowserMobHttpClient.execute(BrowserMobHttpClient.java:363) ~[main/:na]
	at org.rockhill.mitm.proxy.http.MitmJavaProxyHttpRequest.execute(MitmJavaProxyHttpRequest.java:151) ~[main/:na]
	at net.lightbody.bmp.proxy.BrowserMobProxyHandler.proxyPlainTextRequest(BrowserMobProxyHandler.java:315) ~[main/:na]
	at net.lightbody.bmp.proxy.selenium.SeleniumProxyHandler.handle(SeleniumProxyHandler.java:176) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.HttpContext.handle(HttpContext.java:1347) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.HttpContext.handle(HttpContext.java:1310) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.HttpServer.service(HttpServer.java:831) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.HttpConnection.service(HttpConnection.java:730) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.HttpConnection.handleNext(HttpConnection.java:877) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.HttpConnection.handle(HttpConnection.java:742) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.http.SocketListener.handleConnection(SocketListener.java:183) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.util.ThreadedServer.handle(ThreadedServer.java:243) ~[main/:na]
	at net.lightbody.bmp.proxy.jetty.util.ThreadPool$PoolThread.run(ThreadPool.java:365) ~[main/:na]
Caused by: java.lang.ArrayIndexOutOfBoundsException: arraycopy: last source index 32 out of bounds for byte[31]
	at java.base/java.lang.System.arraycopy(Native Method) ~[na:na]
	at org.bouncycastle.crypto.params.X25519PublicKeyParameters.<init>(Unknown Source) ~[bcprov-jdk15on-1.68.jar:1.68.0]
	at org.bouncycastle.jcajce.provider.asymmetric.edec.KeyAgreementSpi.engineDoPhase(KeyAgreementSpi.java:163) ~[bcprov-jdk15on-1.68.jar:1.68.0]
	at java.base/javax.crypto.KeyAgreement.doPhase(KeyAgreement.java:579) ~[na:na]
	at java.base/sun.security.ssl.KAKeyDerivation.t12DeriveKey(KAKeyDerivation.java:75) ~[na:na]
	at java.base/sun.security.ssl.KAKeyDerivation.deriveKey(KAKeyDerivation.java:61) ~[na:na]

from mitmjavaproxy.

tkohegyi avatar tkohegyi commented on September 21, 2024

See connected bc ticket, this may be caused by code in bc jar - https://github.com/bcgit/bc-java/blob/master/core/src/main/java/org/bouncycastle/util/BigIntegers.java

from mitmjavaproxy.

tkohegyi avatar tkohegyi commented on September 21, 2024

So the causing code: https://github.com/bcgit/bc-java/blob/master/prov/src/main/jdk1.11/org/bouncycastle/jcajce/provider/asymmetric/edec/KeyAgreementSpi.java

if (key instanceof XECPublicKey)                                   //this is true
        {
            XECPublicKey jcePub = (XECPublicKey)key;

            byte[] keyData = Arrays.reverse(BigIntegers.asUnsignedByteArray(jcePub.getU()));   // here asUnsignedByteArray swallows initial 0

            if (keyData.length == X448PublicKeyParameters.KEY_SIZE)
            {
                pub = new X448PublicKeyParameters(keyData, 0);
            }
            else
            {
                pub = new X25519PublicKeyParameters(keyData, 0);    // here cunstructor fails, as the array size is not enough
            }
        }

from mitmjavaproxy.

tkohegyi avatar tkohegyi commented on September 21, 2024

solution suggested to BC team

from mitmjavaproxy.

tkohegyi avatar tkohegyi commented on September 21, 2024

pull request for bc - bcgit/bc-java#866

from mitmjavaproxy.

tkohegyi avatar tkohegyi commented on September 21, 2024

v1.69 and bcgit/bc-java#866 seems resolved it, thx

from mitmjavaproxy.

Related Issues (14)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.