Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
a112c854
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
a112c854
编写于
4月 09, 2014
作者:
W
weijun
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8039132: cleanup @ignore JAAS/krb5 tests
Reviewed-by: xuelei
上级
16c2a025
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
227 addition
and
0 deletion
+227
-0
test/sun/security/krb5/auto/AddressesAndNameType.java
test/sun/security/krb5/auto/AddressesAndNameType.java
+85
-0
test/sun/security/krb5/auto/UdpTcp.java
test/sun/security/krb5/auto/UdpTcp.java
+65
-0
test/sun/security/krb5/etype/UnsupportedKeyType.java
test/sun/security/krb5/etype/UnsupportedKeyType.java
+77
-0
未找到文件。
test/sun/security/krb5/auto/AddressesAndNameType.java
0 → 100644
浏览文件 @
a112c854
/*
* Copyright (c) 2014, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
* @test
* @bug 4501327 4868379 8039132
* @run main/othervm AddressesAndNameType 1
* @run main/othervm AddressesAndNameType 2
* @run main/othervm AddressesAndNameType 3
* @summary noaddresses settings and server name type
*/
import
java.net.InetAddress
;
import
java.util.Set
;
import
sun.security.krb5.Config
;
import
javax.security.auth.kerberos.KerberosPrincipal
;
import
javax.security.auth.kerberos.KerberosTicket
;
public
class
AddressesAndNameType
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
OneKDC
kdc
=
new
OneKDC
(
null
);
kdc
.
writeJAASConf
();
String
extraLine
;
switch
(
args
[
0
])
{
case
"1"
:
extraLine
=
"noaddresses = false"
;
break
;
case
"2"
:
extraLine
=
"noaddresses = true"
;
break
;
default
:
extraLine
=
""
;
break
;
}
KDC
.
saveConfig
(
OneKDC
.
KRB5_CONF
,
kdc
,
extraLine
);
Config
.
refresh
();
Context
c
=
Context
.
fromUserPass
(
OneKDC
.
USER
,
OneKDC
.
PASS
,
false
);
Set
<
KerberosTicket
>
tickets
=
c
.
s
().
getPrivateCredentials
(
KerberosTicket
.
class
);
if
(
tickets
.
isEmpty
())
throw
new
Exception
();
KerberosTicket
ticket
=
tickets
.
iterator
().
next
();
InetAddress
[]
addresses
=
ticket
.
getClientAddresses
();
switch
(
args
[
0
])
{
case
"1"
:
if
(
addresses
==
null
||
addresses
.
length
==
0
)
{
throw
new
Exception
(
"No addresses"
);
}
if
(
ticket
.
getServer
().
getNameType
()
!=
KerberosPrincipal
.
KRB_NT_SRV_INST
)
{
throw
new
Exception
(
"Wrong type: "
+
ticket
.
getServer
().
getNameType
());
}
break
;
default
:
if
(
addresses
!=
null
&&
addresses
.
length
!=
0
)
{
throw
new
Exception
(
"See addresses"
);
}
break
;
}
}
}
test/sun/security/krb5/auto/UdpTcp.java
0 → 100644
浏览文件 @
a112c854
/*
* Copyright (c) 2014, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
* @test
* @bug 4966382 8039132
* @run main/othervm UdpTcp UDP
* @run main/othervm UdpTcp TCP
* @summary udp or tcp
*/
import
java.io.ByteArrayOutputStream
;
import
java.io.PrintStream
;
import
sun.security.krb5.Config
;
public
class
UdpTcp
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
System
.
setProperty
(
"sun.security.krb5.debug"
,
"true"
);
OneKDC
kdc
=
new
OneKDC
(
null
);
kdc
.
writeJAASConf
();
KDC
.
saveConfig
(
OneKDC
.
KRB5_CONF
,
kdc
,
"udp_preference_limit = "
+
(
args
[
0
].
equals
(
"UDP"
)
?
"1000"
:
"100"
));
Config
.
refresh
();
ByteArrayOutputStream
bo
=
new
ByteArrayOutputStream
();
PrintStream
oldout
=
System
.
out
;
System
.
setOut
(
new
PrintStream
(
bo
));
Context
.
fromUserPass
(
OneKDC
.
USER
,
OneKDC
.
PASS
,
false
);
System
.
setOut
(
oldout
);
for
(
String
line:
new
String
(
bo
.
toByteArray
()).
split
(
"\n"
))
{
if
(
line
.
contains
(
">>> KDCCommunication"
))
{
if
(!
line
.
contains
(
args
[
0
]))
{
throw
new
Exception
(
"No "
+
args
[
0
]
+
" in: "
+
line
);
}
}
}
}
}
test/sun/security/krb5/etype/UnsupportedKeyType.java
0 → 100644
浏览文件 @
a112c854
/*
* Copyright (c) 2014, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
* @test
* @bug 5006629
* @summary Kerberos library should only select keys of types that it supports
*/
import
javax.security.auth.kerberos.KerberosPrincipal
;
import
javax.security.auth.kerberos.KeyTab
;
import
java.io.File
;
import
java.nio.file.Files
;
import
java.nio.file.Paths
;
public
class
UnsupportedKeyType
{
// Homemade keytab files:
//
// String KVNO Timestamp Principal (etype)
// -------- ---- -------------- -----------------------
// camellia 4 4/3/14 9:58 AM u1@K1 (25:camellia128-cts-cmac)
// aes 5 4/3/14 9:58 AM u1@K1 (17:aes128-cts-hmac-sha1-96)
static
String
aes
=
"050200000027000100024b310002753100000001533cc04f0500110010e0eab6"
+
"7f31608df2b2f8fffc6b21cc91"
;
static
String
camellia
=
"050200000027000100024b310002753100000001533cc03e0400190010d88678"
+
"14e478b6b7d2d97375163b971e"
;
public
static
void
main
(
String
[]
args
)
throws
Exception
{
byte
[]
data
=
new
byte
[
aes
.
length
()/
2
];
KerberosPrincipal
kp
=
new
KerberosPrincipal
(
"u1@K1"
);
// aes128
for
(
int
i
=
0
;
i
<
data
.
length
;
i
++)
{
data
[
i
]
=
Integer
.
valueOf
(
aes
.
substring
(
2
*
i
,
2
*
i
+
2
),
16
).
byteValue
();
}
Files
.
write
(
Paths
.
get
(
"aes"
),
data
);
if
(
KeyTab
.
getInstance
(
kp
,
new
File
(
"aes"
)).
getKeys
(
kp
).
length
==
0
)
{
throw
new
Exception
(
"AES key not read"
);
}
// camellia128
for
(
int
i
=
0
;
i
<
data
.
length
;
i
++)
{
data
[
i
]
=
Integer
.
valueOf
(
camellia
.
substring
(
2
*
i
,
2
*
i
+
2
),
16
).
byteValue
();
}
Files
.
write
(
Paths
.
get
(
"camellia"
),
data
);
if
(
KeyTab
.
getInstance
(
kp
,
new
File
(
"camellia"
)).
getKeys
(
kp
).
length
!=
0
)
{
throw
new
Exception
(
"Unknown key read"
);
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录