- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我遇到问题标题中所述的异常,同时使用 HttpsURLConnection
类在 Java 中使用 HTTPS 连接到服务器。我还尝试使用 the second last answer 跳过证书验证.任何人都可以建议我出路吗?
更新 1:堆栈跟踪
javax.net.ssl.SSLException: Received fatal alert: bad_record_mac
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:190)
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1720)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:954)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1165)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1149)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:434)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:133)
at com.kuliza.sitepulse.thread.HttpConnectionThread.run(HttpConnectionThread.java:77)
at java.lang.Thread.run(Thread.java:662)
我得到以下代码行的异常:http.connect();
其中 http
属于 HttpsURLConnection
类类型。
更新 2:SSL 日志
这是 SSL 握手日志:
[Raw read]: length = 5
0000: 15 03 00 00 02 .....
[Raw read]: length = 2
0000: 02 14 ..
Thread-6, READ: SSLv3 Alert, length = 2
Thread-6, RECV SSLv3 ALERT: fatal, bad_record_mac
Thread-6, called closeSocket()
请提供任何线索,这让我抓狂!!
提前致谢!
最佳答案
我知道这来晚了,但它可能对某些人有帮助,对吧?
如果您包含更多导致您包含的错误的 ssl 连接的调试输出,这可能会有所帮助。我看到了同样的错误,只是通过包含 -Dhttps.protocols=SSLv3 解决了它-Dforce.http.jre.executor=true 在我的 VM 争论中......所以如果你幸运的话,这也可能对你有用。
这是我的踪迹:
SESSION KEYGEN:
PreMaster Secret:
0000: 03 00 31 86 59 ED 17 07 6C 37 1F 17 19 B4 A1 16 ..1.Y...l7......
0010: 30 99 60 A1 31 BB 3A 0A 0E 7F 61 F5 7E 4F 35 7A 0.`.1.:...a..O5z
0020: 21 6F 1D 63 42 A1 63 43 5E 48 B2 67 35 E3 DA DF !o.cB.cC^H.g5...
CONNECTION KEYGEN:
Client Nonce:
0000: 52 65 F0 96 23 24 71 D6 51 1A EF D6 31 D1 39 2A Re..#$q.Q...1.9*
0010: 13 13 2E 41 8C 7E 80 B8 C0 6E 8A 8C 4E 5A CD FA ...A.....n..NZ..
Server Nonce:
0000: 52 65 F0 96 CD 4B BE A9 E1 F8 34 B3 C3 23 14 35 Re...K....4..#.5
0010: 05 4F 5C 18 D7 10 5E 80 7B FF 73 DA 85 60 84 8C .O\...^...s..`..
Master Secret:
0000: 0D 11 FE 0D CD 99 C3 3F D9 40 CF BC 2E C7 40 5E .......?.@....@^
0010: B0 C5 4F 75 4A 0A 39 1E E2 0F 54 E1 A1 7F CE 72 ..OuJ.9...T....r
0020: 4F 99 8F E2 D9 7F C1 AC FD D0 89 62 F7 72 F9 6F O..........b.r.o
Client MAC write Secret:
0000: 80 7C C8 E7 02 6D 29 A3 E2 E5 BA 44 94 18 19 65 .....m)....D...e
0010: 63 5D 5D 8A c]].
Server MAC write Secret:
0000: 06 58 B6 2F 03 FB E7 C6 48 1F 68 5C 10 DD 58 8D .X./....H.h\..X.
0010: 36 7B AC AA 6...
Client write key:
0000: B5 C6 23 1E 88 F2 30 76 39 18 AB 0C 71 94 E7 8A ..#...0v9...q...
Server write key:
0000: 9D 49 1C 52 13 B9 F8 44 DA 87 6C 1C 93 CD 9C 8B .I.R...D..l.....
Client write IV:
0000: 07 1A A6 47 7E 6E 2B F4 A6 7A 6D DC 5E 74 E8 0F ...G.n+..zm.^t..
Server write IV:
0000: 32 93 23 CC F4 83 1F 2C B7 22 28 8C A2 7D B1 01 2.#....,."(.....
main, WRITE: SSLv3 Change Cipher Spec, length = 1
[Raw write]: length = 6
0000: 14 03 00 00 01 01 ......
*** Finished
verify_data: { 179, 120, 197, 29, 60, 98, 37, 252, 37, 183, 141, 166, 140, 77, 63, 118, 23, 245, 11, 144, 27, 201, 63, 22, 192, 187, 40, 220, 78, 17, 118, 104, 112, 238, 156, 176 }
***
[write] MD5 and SHA1 hashes: len = 40
0000: 14 00 00 24 B3 78 C5 1D 3C 62 25 FC 25 B7 8D A6 ...$.x..<b%.%...
0010: 8C 4D 3F 76 17 F5 0B 90 1B C9 3F 16 C0 BB 28 DC .M?v......?...(.
0020: 4E 11 76 68 70 EE 9C B0 N.vhp...
Padded plaintext before ENCRYPTION: len = 64
0000: 14 00 00 24 B3 78 C5 1D 3C 62 25 FC 25 B7 8D A6 ...$.x..<b%.%...
0010: 8C 4D 3F 76 17 F5 0B 90 1B C9 3F 16 C0 BB 28 DC .M?v......?...(.
0020: 4E 11 76 68 70 EE 9C B0 46 F4 59 24 44 F1 C3 A8 N.vhp...F.Y$D...
0030: 7E FB 80 EB AD 74 35 28 64 31 65 80 03 03 03 03 .....t5(d1e.....
main, WRITE: SSLv3 Handshake, length = 64
[Raw write]: length = 69
0000: 16 03 00 00 40 FE A7 C8 1D 6D 2E A8 A5 C7 78 8D ....@....m....x.
0010: 68 04 B2 55 42 B3 3C C1 A2 90 F1 A5 9B 39 1D 96 h..UB.<......9..
0020: 53 43 65 15 2A 17 2C 43 70 AE 8C B5 EE 63 C3 91 SCe.*.,Cp....c..
0030: 73 BC D1 45 34 B1 76 46 B8 C5 CE BF 5E 15 72 E6 s..E4.vF....^.r.
0040: FE 16 9C 43 64 ...Cd
[Raw read]: length = 5
0000: 15 03 00 00 02 .....
[Raw read]: length = 2
0000: 02 14 ..
main, READ: SSLv3 Alert, length = 2
main, RECV SSLv3 ALERT: fatal, bad_record_mac
main, called closeSocket()
main, handling exception: javax.net.ssl.SSLException: Received fatal alert: bad_record_mac
关于javax.net.ssl.SSLException : Received fatal alert: bad_record_mac with Java and https 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9399810/
我如何在 HP Fortify SSC 上定义警报,只有在发现新问题或自上次扫描以来问题数量增加时才会发出警报。 我可以定义一个包含静态问题数量的警报,但每次警报数量发生变化时都需要手动更新,我想避免
由于未知原因,我的 Alert.alert 拒绝工作。我基本上是在重用之前工作的代码。获取错误: Exception NSArrayl length; unrecognized selector se
我的注销用户功能似乎根本不起作用。我在登录时通过警报调用它,但它似乎没有调用它。如果我尝试在末尾添加“()”,它只会给我一个错误。 loginUser = (email, password) => {
alert() 和 window.alert() 函数有什么区别?看起来效果一样。 最佳答案 因为 window 是全局对象,您可以通过简写调用 alert:alert( 'Hello!' ); 或通
我正在尝试整理此错误消息: Exception '-[_NSDisctionary0 length]: unrecognized selector sent to instance 0x7896412
有什么方法可以改变 JavaScript 中alert 或prompt 的外观吗?诸如添加图像、更改字体颜色或大小之类的事情,以及任何会使它看起来不同的事情。 最佳答案 扩展 Matthew Abbo
我正在尝试创建一个警报,以确保用户提交了正确的信息,如果单击“确定”而不是取消,则单击链接并 发送。我几乎已经实现了,警报激活,但如果单击确定则不会激活。不幸的是,我还不是 js 向导...... 编
看起来 AngularJS $window.alert() 和 Javascript alert() 是一样的。在什么条件下我们应该使用其中的哪一个?还是根本没有区别? 最佳答案 这是一回事——Jav
我的应用需要在不同时间向用户显示一些信息。我决定使用 AlertControllers 但我不能同时显示两个 Alert Controllers。因此我需要知道是否显示了警报 Controller ,
在 Brad's tutorial Alerts 组件使用以下方式导出: export default withAlert(Alerts) 这导致了错误: The above error occurr
我正在使用 Twitter Bootstrap 3 并使用 jQuery AJAX 发送表单数据。这是我的代码: $.ajax({ type: $(form).attr('method
我遇到了 的问题(SSL 警报编号 46) 140097325019584:error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certif
我正在尝试使用 Alert React Native 中的组件以在 Android 和 iOS 之间创建一致的体验。我正在尝试运行示例警报。我导入了警报组件(为简洁起见省略了其他导入): import
考虑这段代码: var input = document.getElementById("hello"); input.addEventListener('blur', function() {
请检查代码, import { Alert, } from 'react-native'; checkForSendingOtp = () => { let hash = 'aBcDeG
我刚开始学习和练习 React Native,我遇到了第一个我自己似乎无法解决的问题。 我有以下代码,非常简单,但是当我在网络上运行时 Alert.alert() 不起作用。如果我单击该按钮,则没有任
在 Safari 浏览器中遇到一个问题,以下是我的场景(带示例)。 当我点击删除帐户的按钮时,我会打开警告消息。在该警报窗口中有两个操作“确定”和“取消”。如果我单击"is",它将重定向到另一个 UR
使用 Cordova CLI 版本 5.4.1,平台是iOS,在 iOS 模拟器上运行 来 self 应用的 onDeviceReady处理程序,我正在调用一个函数来设置一个 Hook ,以便使用 n
我正在使用 selenium IDE。我需要验证在成功填写数据并单击保存按钮后显示的闪现消息。 我正在使用 assertText css=div.alert.alert-success × Succe
我有一个 .pfx 文件,在 Windows 客户端上使用时可以完美连接到远程服务器。我现在想使用 Linux 客户端连接到服务器。 问题 1) 我使用以下 openssl 命令从 pfx 文件中提取
我是一名优秀的程序员,十分优秀!