- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个通过 Apache https proxypass 在 Tomcat 上运行的 Java Spring Web 应用程序,当它尝试访问安全的 IBM Watson 服务时,它会间歇性地失败。 Apache 使用 LetsEncrypt 证书进行保护,重定向到 Tomcat 端口 8080。
环境:
我打开了 javax.net 调试,我可以看到它通过 ServerHelloDone。这是异常日志的其余部分。
ServerHelloDone
[read] MD5 and SHA1 hashes: len = 4
0000: 0E 00 00 00 ....
ECDHClientKeyExchange
ECDH Public value: { 4, 1, 15, 216, 52, 12, 28, 142, 36, 18, 118, 235, 237, 15, 74, 34, 33, 56, 45, 207, 106, 156, 33, 190, 210, 211, 175, 194, 89, 194, 183, 108, 144, 243, 51, 244, 179, 187, 96, 144, 10, 108, 146, 141, 244, 76, 71, 228, 210, 106, 52, 6, 241, 210, 130, 225, 126, 88, 210, 15, 184, 97, 206, 93, 65, 141, 34, 0, 3, 64, 70, 132, 192, 245, 110, 15, 18, 172, 202, 220, 232, 174, 254, 75, 160, 45, 48, 33, 180, 50, 39, 38, 122, 56, 13, 5, 15, 164, 61, 213, 135, 95, 115, 152, 246, 74, 157, 17, 26, 141, 90, 77, 105, 197, 209, 32, 163, 122, 22, 23, 152, 214, 79, 36, 192, 196, 109, 212, 137, 103, 125, 159, 17 }
[write] MD5 and SHA1 hashes: len = 138
0000: 10 00 00 86 85 04 01 0F D8 34 0C 1C 8E 24 12 76 .........4...$.v
0010: EB ED 0F 4A 22 21 38 2D CF 6A 9C 21 BE D2 D3 AF ...J"!8-.j.!....
0020: C2 59 C2 B7 6C 90 F3 33 F4 B3 BB 60 90 0A 6C 92 .Y..l..3...`..l.
0030: 8D F4 4C 47 E4 D2 6A 34 06 F1 D2 82 E1 7E 58 D2 ..LG..j4......X.
0040: 0F B8 61 CE 5D 41 8D 22 00 03 40 46 84 C0 F5 6E ..a.]A."..@F...n
0050: 0F 12 AC CA DC E8 AE FE 4B A0 2D 30 21 B4 32 27 ........K.-0!.2'
0060: 26 7A 38 0D 05 0F A4 3D D5 87 5F 73 98 F6 4A 9D &z8....=.._s..J.
0070: 11 1A 8D 5A 4D 69 C5 D1 20 A3 7A 16 17 98 D6 4F ...ZMi.. .z....O
0080: 24 C0 C4 6D D4 89 67 7D 9F 11 $..m..g...
recipeorganizer.net-startStop-1, WRITE: TLSv1 Handshake, length = 138
[Raw write]: length = 143
0000: 16 03 01 00 8A 10 00 00 86 85 04 01 0F D8 34 0C ..............4.
0010: 1C 8E 24 12 76 EB ED 0F 4A 22 21 38 2D CF 6A 9C ..$.v...J"!8-.j.
0020: 21 BE D2 D3 AF C2 59 C2 B7 6C 90 F3 33 F4 B3 BB !.....Y..l..3...
0030: 60 90 0A 6C 92 8D F4 4C 47 E4 D2 6A 34 06 F1 D2 `..l...LG..j4...
0040: 82 E1 7E 58 D2 0F B8 61 CE 5D 41 8D 22 00 03 40 ...X...a.]A."..@
0050: 46 84 C0 F5 6E 0F 12 AC CA DC E8 AE FE 4B A0 2D F...n........K.-
0060: 30 21 B4 32 27 26 7A 38 0D 05 0F A4 3D D5 87 5F 0!.2'&z8....=.._
0070: 73 98 F6 4A 9D 11 1A 8D 5A 4D 69 C5 D1 20 A3 7A s..J....ZMi.. .z
0080: 16 17 98 D6 4F 24 C0 C4 6D D4 89 67 7D 9F 11 ....O$..m..g...
SESSION KEYGEN:
PreMaster Secret:
0000: 00 65 8C 39 8F 65 BD D3 AC EF B3 D8 AF 7D 62 CA .e.9.e........b.
0010: DE 38 F7 FC B3 68 CD 17 4B A9 2E E3 57 76 E6 ED .8...h..K...Wv..
0020: 44 C3 39 47 9C 6D 9B 11 EE 36 01 50 78 DC E2 6B D.9G.m...6.Px..k
0030: 79 EF A2 86 B8 5A D2 0F 84 F8 48 23 3D 18 57 9E y....Z....H#=.W.
0040: 59 FB Y.
CONNECTION KEYGEN:
Client Nonce:
0000: 58 44 7E ED EE F3 E8 DA 8A 53 52 00 3B 11 2B E2 XD.......SR.;.+.
0010: 7D 41 F8 C0 0D CD BB C7 7D 97 32 CB BA 5D BF 22 .A........2..]."
Server Nonce:
0000: 54 AC E4 66 B7 28 95 0B 60 02 C3 3B 6C A8 D7 4E T..f.(..`..;l..N
0010: 89 B6 26 85 3D 38 00 1A 2F 3F B1 4B D1 57 40 8B ..&.=8../?.K.W@.
Master Secret:
0000: EF A0 29 3D 09 06 17 55 DB B9 96 5E 0F E4 58 86 ..)=...U...^..X.
0010: 38 42 88 15 DA 86 95 91 6B 6E 06 8C 33 D3 3D 09 8B......kn..3.=.
0020: D3 7E 1C E6 D6 10 53 7A B2 A4 B7 E0 4A FB E0 BA ......Sz....J...
Client MAC write Secret:
0000: 89 E4 9D 64 8B 81 87 CB F8 4B 2B 18 49 08 E7 0E ...d.....K+.I...
0010: D5 E7 69 DB ..i.
Server MAC write Secret:
0000: F2 6A 0D C4 9B 2C 4D F2 64 9F DC DD 42 7A 67 4F .j...,M.d...BzgO
0010: 25 7C 0E 4C %..L
Client write key:
0000: C8 BD B9 72 CB CE 7B 09 40 E1 98 7D 8E 65 43 F3 ...r....@....eC.
Server write key:
0000: E9 E7 11 F1 FB BB AD 02 A1 43 BA 60 8F C2 68 83 .........C.`..h.
Client write IV:
0000: E2 A3 08 8D 1E A8 2B 64 DA B5 C2 8D F3 50 E9 59 ......+d.....P.Y
Server write IV:
0000: B5 3C 89 77 2E 4E 17 D5 74 25 3A 2A 92 6E D9 8B .<.w.N..t%:*.n..
recipeorganizer.net-startStop-1, WRITE: TLSv1 Change Cipher Spec, length = 1
[Raw write]: length = 6
0000: 14 03 01 00 01 01 ......
Finished
verify_data: { 118, 161, 158, 7, 159, 29, 185, 175, 148, 167, 176, 216 }
[write] MD5 and SHA1 hashes: len = 16
0000: 14 00 00 0C 76 A1 9E 07 9F 1D B9 AF 94 A7 B0 D8 ....v...........
Padded plaintext before ENCRYPTION: len = 48
0000: 14 00 00 0C 76 A1 9E 07 9F 1D B9 AF 94 A7 B0 D8 ....v...........
0010: 9C A6 C7 9D 1A D7 DC B9 96 A2 83 CA 9A 50 BD 3D .............P.=
0020: 7D D9 72 4A 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B 0B ..rJ............
recipeorganizer.net-startStop-1, WRITE: TLSv1 Handshake, length = 48
[Raw write]: length = 53
0000: 16 03 01 00 30 4A DD E4 1A B2 30 CF 7A 65 A4 3F ....0J....0.ze.?
0010: 3F 90 1D 48 98 54 E4 E7 42 F6 1C 87 AA 70 3C 9E ?..H.T..B....p<.
0020: F6 47 5E EC 40 D1 12 C3 EF 82 5E 44 09 F0 C9 A0 .G^.@.....^D....
0030: BB E4 E8 8C CF .....
[Raw read]: length = 5
0000: 15 03 01 00 02 .....
[Raw read]: length = 2
0000: 02 14 ..
recipeorganizer.net-startStop-1, READ: TLSv1 Alert, length = 2
recipeorganizer.net-startStop-1, RECV TLSv1 ALERT: fatal, bad_record_mac
%% Invalidated: [Session-1, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA]
当 [Raw read]: length = 2
等于 2 时失败,但如果等于 1 则成功。我根本不是安全专家,所以我不确定是什么原因造成的。 Google 和 SO 搜索没有发现任何有用的东西。我确实找到了一篇建议我将 local_policy 和 US_export_policy jar 替换为无限强度的 jar 的帖子,但这并没有解决问题。
最佳答案
我相信我找到了失败的原因。此错误报告似乎正确描述了我遇到的问题:Inconsistent length for the generated secret using DH key agreement impl from SunJCE and PKCS11 .我检查的每个失败都有一个 PreMaster Secret key ,第一个字节为 00,而每个成功的第一个字节(通常为 01)都有其他内容。错误报告表明修复版本是 Java 8,所以我假设它从未在我使用的 Java 7 版本中修复。
在我能够升级到 Java 8 之前,我能够通过更改 java.security 文件强制 JVM 不使用任何 Diffie-Hellman 密码套件:
jdk.tls.disabledAlgorithms=SSLv3, DH, DHE, ECDH, ECDHE
该文件位于服务器上Java JDK 目录的jre/lib/security 子目录中。对日志的检查表明现在正在使用其中一个 RSA 密码套件,故障不再发生。
我在宣布这是绝对原因时唯一犹豫的是,对该错误的一项分析表明它应该只发生 256 次握手中的 1 次,但我看到它发生的概率几乎为 40-50%。无论如何,在绕过 DH 密码套件后,异常不再发生。
关于java - 间歇性 javax.net.ssl 故障 bad_record_mac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40964961/
我正在编写一个具有以下签名的 Java 方法。 void Logger(Method method, Object[] args); 如果一个方法(例如 ABC() )调用此方法 Logger,它应该
我是 Java 新手。 我的问题是我的 Java 程序找不到我试图用作的图像文件一个 JButton。 (目前这段代码什么也没做,因为我只是得到了想要的外观第一的)。这是我的主课 代码: packag
好的,今天我在接受采访,我已经编写 Java 代码多年了。采访中说“Java 垃圾收集是一个棘手的问题,我有几个 friend 一直在努力弄清楚。你在这方面做得怎么样?”。她是想骗我吗?还是我的一生都
我的 friend 给了我一个谜语让我解开。它是这样的: There are 100 people. Each one of them, in his turn, does the following
如果我将使用 Java 5 代码的应用程序编译成字节码,生成的 .class 文件是否能够在 Java 1.4 下运行? 如果后者可以工作并且我正在尝试在我的 Java 1.4 应用程序中使用 Jav
有关于why Java doesn't support unsigned types的问题以及一些关于处理无符号类型的问题。我做了一些搜索,似乎 Scala 也不支持无符号数据类型。限制是Java和S
我只是想知道在一个 java 版本中生成的字节码是否可以在其他 java 版本上运行 最佳答案 通常,字节码无需修改即可在 较新 版本的 Java 上运行。它不会在旧版本上运行,除非您使用特殊参数 (
我有一个关于在命令提示符下执行 java 程序的基本问题。 在某些机器上我们需要指定 -cp 。 (类路径)同时执行java程序 (test为java文件名与.class文件存在于同一目录下) jav
我已经阅读 StackOverflow 有一段时间了,现在我才鼓起勇气提出问题。我今年 20 岁,目前在我的家乡(罗马尼亚克卢日-纳波卡)就读 IT 大学。足以介绍:D。 基本上,我有一家提供簿记应用
我有 public JSONObject parseXML(String xml) { JSONObject jsonObject = XML.toJSONObject(xml); r
我已经在 Java 中实现了带有动态类型的简单解释语言。不幸的是我遇到了以下问题。测试时如下代码: def main() { def ks = Map[[1, 2]].keySet()
一直提示输入 1 到 10 的数字 - 结果应将 st、rd、th 和 nd 添加到数字中。编写一个程序,提示用户输入 1 到 10 之间的任意整数,然后以序数形式显示该整数并附加后缀。 public
我有这个 DownloadFile.java 并按预期下载该文件: import java.io.*; import java.net.URL; public class DownloadFile {
我想在 GUI 上添加延迟。我放置了 2 个 for 循环,然后重新绘制了一个标签,但这 2 个 for 循环一个接一个地执行,并且标签被重新绘制到最后一个。 我能做什么? for(int i=0;
我正在对对象 Student 的列表项进行一些测试,但是我更喜欢在 java 类对象中创建硬编码列表,然后从那里提取数据,而不是连接到数据库并在结果集中选择记录。然而,自从我这样做以来已经很长时间了,
我知道对象创建分为三个部分: 声明 实例化 初始化 classA{} classB extends classA{} classA obj = new classB(1,1); 实例化 它必须使用
我有兴趣使用 GPRS 构建车辆跟踪系统。但是,我有一些问题要问以前做过此操作的人: GPRS 是最好的技术吗?人们意识到任何问题吗? 我计划使用 Java/Java EE - 有更好的技术吗? 如果
我可以通过递归方法反转数组,例如:数组={1,2,3,4,5} 数组结果={5,4,3,2,1}但我的结果是相同的数组,我不知道为什么,请帮助我。 public class Recursion { p
有这样的标准方式吗? 包括 Java源代码-测试代码- Ant 或 Maven联合单元持续集成(可能是巡航控制)ClearCase 版本控制工具部署到应用服务器 最后我希望有一个自动构建和集成环境。
我什至不知道这是否可能,我非常怀疑它是否可能,但如果可以,您能告诉我怎么做吗?我只是想知道如何从打印机打印一些文本。 有什么想法吗? 最佳答案 这里有更简单的事情。 import javax.swin
我是一名优秀的程序员,十分优秀!