在Java 8上由对等方重置连接,但在Java 7上不重置
我遇到了一个与Java 7 update 79非常相似的问题,但是,在我的例子中,连接可以正常工作,而不是Java 8 update 51;你知道是什么导致了这一切吗 我正在尝试使用SunMSCAPI密钥库连接到安全的Web服务。信任库是最新的。该连接在Java 7上运行良好,但在Java 8上会出现以下错误:在Java 8上由对等方重置连接,但在Java 7上不重置,java,ssl,soap,https,Java,Ssl,Soap,Https,我遇到了一个与Java 7 update 79非常相似的问题,但是,在我的例子中,连接可以正常工作,而不是Java 8 update 51;你知道是什么导致了这一切吗 我正在尝试使用SunMSCAPI密钥库连接到安全的Web服务。信任库是最新的。该连接在Java 7上运行良好,但在Java 8上会出现以下错误: *** *** ClientKeyExchange, RSA PreMasterSecret, TLSv1 Execução de comandos de NFe, WRITE: TLS
***
*** ClientKeyExchange, RSA PreMasterSecret, TLSv1
Execução de comandos de NFe, WRITE: TLSv1 Handshake, length = 7648
SESSION KEYGEN:
PreMaster Secret:
0000: 03 01 2D 6C 21 6D D6 EE 68 9F 27 10 60 99 EB 82 ..-l!m..h.'.`...
0010: 85 4D 41 B8 0C 38 B7 2D 98 72 FB 51 07 BC 9A D7 .MA..8.-.r.Q....
0020: 60 76 98 D6 C8 8E 0B 1C 86 DB A0 98 68 CC 35 73 `v..........h.5s
CONNECTION KEYGEN:
Client Nonce:
0000: 55 AF DF 74 AE 34 06 95 82 44 92 2B BD 0A 65 2C U..t.4...D.+..e,
0010: ED 77 4E E8 49 32 06 8A BE F6 69 49 34 D9 68 A9 .wN.I2....iI4.h.
Server Nonce:
0000: 55 AF DF 74 A3 84 C6 57 43 14 F2 13 F4 7E BF 77 U..t...WC......w
0010: C6 CD A6 B5 8E 01 4E 01 F9 42 B0 60 4D 82 27 81 ......N..B.`M.'.
Master Secret:
0000: BE 6E A8 76 F3 58 4E 53 B5 70 7D 43 6A 2D 1D 6F .n.v.XNS.p.Cj-.o
0010: 3C C4 DE 7D 2A 3C 40 A3 D8 65 CA 38 43 8E 75 4D <...*<@..e.8C.uM
0020: A4 05 2D 60 6C 82 5B E1 73 EE E1 CC B3 1A 64 CE ..-`l.[.s.....d.
Client MAC write Secret:
0000: B7 21 C6 E4 CB 05 2C B5 B7 83 9A 8A D4 5F 39 00 .!....,......_9.
0010: E5 6A AA 9D .j..
Server MAC write Secret:
0000: 0B 27 C3 1F D9 84 57 8D 43 F0 17 5C 25 05 70 BB .'....W.C..\%.p.
0010: 40 70 6D 4E @pmN
Client write key:
0000: EC B4 F8 09 3F 8C 8F FD C3 8F 31 6E 4C AF DC 93 ....?.....1nL...
Server write key:
0000: 07 7D 2A A1 E5 75 33 87 B8 19 D9 43 CB 6A CE 09 ..*..u3....C.j..
Client write IV:
0000: 5D 16 DC E7 DD 0C 00 8F 18 01 05 C0 5B E6 9C 5D ]...........[..]
Server write IV:
0000: 0D E4 19 20 44 69 05 33 1C 05 78 4E CB 4A 8C CA ... Di.3..xN.J..
*** CertificateVerify
Execução de comandos de NFe, WRITE: TLSv1 Handshake, length = 288
Execução de comandos de NFe, WRITE: TLSv1 Change Cipher Spec, length = 32
*** Finished
verify_data: { 90, 183, 147, 207, 60, 73, 195, 204, 200, 29, 186, 245 }
***
Execução de comandos de NFe, WRITE: TLSv1 Handshake, length = 48
Execução de comandos de NFe, handling exception: java.net.SocketException: Connection reset
%% Invalidated: [Session-3, TLS_RSA_WITH_AES_128_CBC_SHA]
%% Invalidated: [Session-4, TLS_RSA_WITH_AES_128_CBC_SHA]
SEND TLSv1 ALERT: fatal, description = unexpected_message
WRITE: TLSv1 Alert, length = 32
Exception sending alert: java.net.SocketException: Connection reset by peer: socket write error
called closeSocket()
called close()
called closeInternal(true)
called close()
called closeInternal(true)
***
***ClientKeyExchange,RSA PreMasterSecret,TLSv1
NFe公司高管,写:TLSv1握手,长度=7648
会话密钥:
毕业前的秘密:
0000:03 01 2D 6C 21 6D D6 EE 68 9F 27 10 60 99 EB 82..-l!m、 .h.“。。。
0010:85 4D 41 B8 0C 38 B7 2D 98 72 FB 51 07 BC 9A D7.MA..8.-.r.Q。。。。
0020:60 76 98 D6 C8 8E 0B 1C 86 DB A0 98 68 CC 35 73`v………h.5s
连接键:
客户暂时:
0000:55 AF DF 74 AE 34 06 95 82 44 92 2B BD 0A 65 2C U.t.4…D+e,
0010:ED 77 4E E8 49 32 06 8A BE F6 69 49 34 D9 68 A9.wN.I2…iI4.h。
服务器当前值:
0000:55 AF DF 74 A3 84 C6 57 43 14 F2 13 F4 7E BF 77 U.t…WC…w
0010:C6 CD A6 B5 8E 01 4E 01 F9 42 B0 60 4D 82 27 81……北半球'M'。
主秘密:
0000:BE 6E A8 76 F3 58 4E 53 B5 70 7D 43 6A 2D 1D 6F.n.v.XNS.p.Cj-.o
0010:3C C4 DE 7D 2A 3C 40 A3 D8 65 CA 38 43 8E 75 4D我刚刚设法使它工作起来。我只是在程序开始时设置了https.protocols
系统属性:
System.setProperty("https.protocols", "TLSv1,SSLv3,SSLv2Hello");
System.setProperty(“https.protocols”、“TLSv1”)代码>为我工作。PS:必须热爱巴西nota FISCALIP:如果您试图为Ceara州发射巴西NFe 4.00,您可能必须设置System.setProperty(“https.protocols”,“TLSv1.2”)代码>