Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell11
提交
079c6ae4
D
dragonwell11
项目概览
openanolis
/
dragonwell11
通知
7
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell11
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
079c6ae4
编写于
7月 19, 2018
作者:
W
weijun
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8207250: setUseClientMode post handshake with the same value as before does not throw IAE
Reviewed-by: xuelei
上级
ad0adcee
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
20 addition
and
16 deletion
+20
-16
src/java.base/share/classes/sun/security/ssl/TransportContext.java
...base/share/classes/sun/security/ssl/TransportContext.java
+7
-7
test/jdk/sun/security/ssl/SSLEngineImpl/EngineEnforceUseClientMode.java
...ecurity/ssl/SSLEngineImpl/EngineEnforceUseClientMode.java
+13
-9
未找到文件。
src/java.base/share/classes/sun/security/ssl/TransportContext.java
浏览文件 @
079c6ae4
...
...
@@ -393,6 +393,13 @@ class TransportContext implements ConnectionContext, Closeable {
}
void
setUseClientMode
(
boolean
useClientMode
)
{
// Once handshaking has begun, the mode can not be reset for the
// life of this engine.
if
(
handshakeContext
!=
null
||
isNegotiated
)
{
throw
new
IllegalArgumentException
(
"Cannot change mode after SSL traffic has started"
);
}
/*
* If we need to change the client mode and the enabled
* protocols and cipher suites haven't specifically been
...
...
@@ -400,13 +407,6 @@ class TransportContext implements ConnectionContext, Closeable {
* default ones.
*/
if
(
sslConfig
.
isClientMode
!=
useClientMode
)
{
// Once handshaking has begun, the mode can not be reset for the
// life of this engine.
if
(
handshakeContext
!=
null
||
isNegotiated
)
{
throw
new
IllegalArgumentException
(
"Cannot change mode after SSL traffic has started"
);
}
if
(
sslContext
.
isDefaultProtocolVesions
(
sslConfig
.
enabledProtocols
))
{
sslConfig
.
enabledProtocols
=
...
...
test/jdk/sun/security/ssl/SSLEngineImpl/EngineEnforceUseClientMode.java
浏览文件 @
079c6ae4
/*
* Copyright (c) 2004, 201
3
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2004, 201
8
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -28,7 +28,7 @@
/*
* @test
* @bug 4980882
* @bug 4980882
8207250
* @summary SSLEngine should enforce setUseClientMode
* @run main/othervm EngineEnforceUseClientMode
* @author Brad R. Wetmore
...
...
@@ -190,14 +190,18 @@ public class EngineEnforceUseClientMode {
checkTransfer
(
appOut1
,
appIn2
);
checkTransfer
(
appOut2
,
appIn1
);
// Should not be able to set mode now, no matter if
// it is the same of different.
System
.
out
.
println
(
"Try changing modes..."
);
try
{
ssle2
.
setUseClientMode
(
true
);
throw
new
RuntimeException
(
"setUseClientMode(): "
+
"Didn't catch the exception properly"
);
}
catch
(
IllegalArgumentException
e
)
{
System
.
out
.
println
(
"Caught the correct exception."
);
for
(
boolean
b
:
new
Boolean
[]
{
true
,
false
})
{
try
{
ssle2
.
setUseClientMode
(
b
);
throw
new
RuntimeException
(
"setUseClientMode("
+
b
+
"): "
+
"Didn't catch the exception properly"
);
}
catch
(
IllegalArgumentException
e
)
{
System
.
out
.
println
(
"Caught the correct exception."
);
}
}
return
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录