Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
2917e2a5
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看板
提交
2917e2a5
编写于
7月 24, 2010
作者:
X
xuelei
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
6867345: Turkish regional options cause NPE in sun.security.x509.AlgorithmId.algOID
Reviewed-by: mullan, weijun
上级
13dd38c4
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
84 addition
and
25 deletion
+84
-25
src/share/classes/sun/security/krb5/Credentials.java
src/share/classes/sun/security/krb5/Credentials.java
+2
-1
src/share/classes/sun/security/pkcs/PKCS9Attribute.java
src/share/classes/sun/security/pkcs/PKCS9Attribute.java
+3
-2
src/share/classes/sun/security/pkcs11/P11Cipher.java
src/share/classes/sun/security/pkcs11/P11Cipher.java
+3
-2
src/share/classes/sun/security/pkcs11/P11RSACipher.java
src/share/classes/sun/security/pkcs11/P11RSACipher.java
+3
-1
src/share/classes/sun/security/provider/certpath/URICertStore.java
.../classes/sun/security/provider/certpath/URICertStore.java
+3
-2
src/share/classes/sun/security/util/Debug.java
src/share/classes/sun/security/util/Debug.java
+3
-2
src/share/classes/sun/security/x509/AVA.java
src/share/classes/sun/security/x509/AVA.java
+2
-2
src/share/classes/sun/security/x509/AlgorithmId.java
src/share/classes/sun/security/x509/AlgorithmId.java
+15
-7
src/share/classes/sun/security/x509/DNSName.java
src/share/classes/sun/security/x509/DNSName.java
+5
-3
src/share/classes/sun/security/x509/RFC822Name.java
src/share/classes/sun/security/x509/RFC822Name.java
+5
-3
test/sun/security/x509/AlgorithmId/TurkishRegion.java
test/sun/security/x509/AlgorithmId/TurkishRegion.java
+40
-0
未找到文件。
src/share/classes/sun/security/krb5/Credentials.java
浏览文件 @
2917e2a5
...
...
@@ -36,6 +36,7 @@ import sun.security.krb5.internal.ccache.CredentialsCache;
import
sun.security.krb5.internal.crypto.EType
;
import
java.io.IOException
;
import
java.util.Date
;
import
java.util.Locale
;
import
java.net.InetAddress
;
/**
...
...
@@ -287,7 +288,7 @@ public class Credentials {
// The default ticket cache on Windows is not a file.
String
os
=
java
.
security
.
AccessController
.
doPrivileged
(
new
sun
.
security
.
action
.
GetPropertyAction
(
"os.name"
));
if
(
os
.
toUpperCase
().
startsWith
(
"WINDOWS"
))
{
if
(
os
.
toUpperCase
(
Locale
.
ENGLISH
).
startsWith
(
"WINDOWS"
))
{
Credentials
creds
=
acquireDefaultCreds
();
if
(
creds
==
null
)
{
if
(
DEBUG
)
{
...
...
src/share/classes/sun/security/pkcs/PKCS9Attribute.java
浏览文件 @
2917e2a5
/*
* Copyright (c) 1997, 20
06
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 20
10
, 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,6 +28,7 @@ package sun.security.pkcs;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
java.security.cert.CertificateException
;
import
java.util.Locale
;
import
java.util.Date
;
import
java.util.Hashtable
;
import
sun.security.x509.CertificateExtensions
;
...
...
@@ -742,7 +743,7 @@ public class PKCS9Attribute implements DerEncoder {
* the name.
*/
public
static
ObjectIdentifier
getOID
(
String
name
)
{
return
NAME_OID_TABLE
.
get
(
name
.
toLowerCase
());
return
NAME_OID_TABLE
.
get
(
name
.
toLowerCase
(
Locale
.
ENGLISH
));
}
/**
...
...
src/share/classes/sun/security/pkcs11/P11Cipher.java
浏览文件 @
2917e2a5
...
...
@@ -26,6 +26,7 @@ package sun.security.pkcs11;
import
java.nio.ByteBuffer
;
import
java.util.Arrays
;
import
java.util.Locale
;
import
java.security.*
;
import
java.security.spec.*
;
...
...
@@ -201,7 +202,7 @@ final class P11Cipher extends CipherSpi {
}
private
int
parseMode
(
String
mode
)
throws
NoSuchAlgorithmException
{
mode
=
mode
.
toUpperCase
();
mode
=
mode
.
toUpperCase
(
Locale
.
ENGLISH
);
int
result
;
if
(
mode
.
equals
(
"ECB"
))
{
result
=
MODE_ECB
;
...
...
@@ -222,7 +223,7 @@ final class P11Cipher extends CipherSpi {
throws
NoSuchPaddingException
{
paddingObj
=
null
;
padBuffer
=
null
;
padding
=
padding
.
toUpperCase
();
padding
=
padding
.
toUpperCase
(
Locale
.
ENGLISH
);
if
(
padding
.
equals
(
"NOPADDING"
))
{
paddingType
=
PAD_NONE
;
}
else
if
(
padding
.
equals
(
"PKCS5PADDING"
))
{
...
...
src/share/classes/sun/security/pkcs11/P11RSACipher.java
浏览文件 @
2917e2a5
...
...
@@ -29,6 +29,8 @@ import java.security.*;
import
java.security.spec.AlgorithmParameterSpec
;
import
java.security.spec.*
;
import
java.util.Locale
;
import
javax.crypto.*
;
import
javax.crypto.spec.*
;
...
...
@@ -110,7 +112,7 @@ final class P11RSACipher extends CipherSpi {
protected
void
engineSetPadding
(
String
padding
)
throws
NoSuchPaddingException
{
String
lowerPadding
=
padding
.
toLowerCase
();
String
lowerPadding
=
padding
.
toLowerCase
(
Locale
.
ENGLISH
);
if
(
lowerPadding
.
equals
(
"pkcs1Padding"
))
{
// empty
}
else
{
...
...
src/share/classes/sun/security/provider/certpath/URICertStore.java
浏览文件 @
2917e2a5
/*
* Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2006,
2010
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
...
...
@@ -52,6 +52,7 @@ import java.util.ArrayList;
import
java.util.Collection
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Locale
;
import
sun.security.x509.AccessDescription
;
import
sun.security.x509.GeneralNameInterface
;
import
sun.security.x509.URIName
;
...
...
@@ -162,7 +163,7 @@ class URICertStore extends CertStoreSpi {
}
this
.
uri
=
((
URICertStoreParameters
)
params
).
uri
;
// if ldap URI, use an LDAPCertStore to fetch certs and CRLs
if
(
uri
.
getScheme
().
toLowerCase
().
equals
(
"ldap"
))
{
if
(
uri
.
getScheme
().
toLowerCase
(
Locale
.
ENGLISH
).
equals
(
"ldap"
))
{
if
(
LDAP
.
helper
()
==
null
)
throw
new
NoSuchAlgorithmException
(
"LDAP not present"
);
ldap
=
true
;
...
...
src/share/classes/sun/security/util/Debug.java
浏览文件 @
2917e2a5
/*
* Copyright (c) 1998, 20
07
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1998, 20
10
, 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,6 +28,7 @@ package sun.security.util;
import
java.math.BigInteger
;
import
java.util.regex.Pattern
;
import
java.util.regex.Matcher
;
import
java.util.Locale
;
/**
* A utility class for debuging.
...
...
@@ -262,7 +263,7 @@ public class Debug {
source
=
left
;
// convert the rest to lower-case characters
target
.
append
(
source
.
toString
().
toLowerCase
());
target
.
append
(
source
.
toString
().
toLowerCase
(
Locale
.
ENGLISH
));
return
target
.
toString
();
}
...
...
src/share/classes/sun/security/x509/AVA.java
浏览文件 @
2917e2a5
/*
* Copyright (c) 1996, 20
08
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1996, 20
10
, 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
...
...
@@ -1227,7 +1227,7 @@ class AVAKeyword {
(
String
keyword
,
int
standard
,
Map
<
String
,
String
>
extraKeywordMap
)
throws
IOException
{
keyword
=
keyword
.
toUpperCase
();
keyword
=
keyword
.
toUpperCase
(
Locale
.
ENGLISH
);
if
(
standard
==
AVA
.
RFC2253
)
{
if
(
keyword
.
startsWith
(
" "
)
||
keyword
.
endsWith
(
" "
))
{
throw
new
IOException
(
"Invalid leading or trailing space "
+
...
...
src/share/classes/sun/security/x509/AlgorithmId.java
浏览文件 @
2917e2a5
/*
* Copyright (c) 1996, 20
09
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1996, 20
10
, 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
...
...
@@ -553,9 +553,10 @@ public class AlgorithmId implements Serializable, DerEncoder {
for
(
Enumeration
<
Object
>
enum_
=
provs
[
i
].
keys
();
enum_
.
hasMoreElements
();
)
{
String
alias
=
(
String
)
enum_
.
nextElement
();
String
upperCaseAlias
=
alias
.
toUpperCase
(
Locale
.
ENGLISH
);
int
index
;
if
(
alias
.
toUpperCase
()
.
startsWith
(
"ALG.ALIAS"
)
&&
(
index
=
alias
.
toUpperCase
()
.
indexOf
(
"OID."
,
0
))
!=
-
1
)
{
if
(
upperCaseAlias
.
startsWith
(
"ALG.ALIAS"
)
&&
(
index
=
upperCaseAlias
.
indexOf
(
"OID."
,
0
))
!=
-
1
)
{
index
+=
"OID."
.
length
();
if
(
index
==
alias
.
length
())
{
// invalid alias entry
...
...
@@ -565,19 +566,26 @@ public class AlgorithmId implements Serializable, DerEncoder {
oidTable
=
new
HashMap
<
String
,
ObjectIdentifier
>();
}
oidString
=
alias
.
substring
(
index
);
String
stdAlgName
=
provs
[
i
].
getProperty
(
alias
).
toUpperCase
();
if
(
oidTable
.
get
(
stdAlgName
)
==
null
)
{
String
stdAlgName
=
provs
[
i
].
getProperty
(
alias
);
if
(
stdAlgName
!=
null
)
{
stdAlgName
=
stdAlgName
.
toUpperCase
(
Locale
.
ENGLISH
);
}
if
(
stdAlgName
!=
null
&&
oidTable
.
get
(
stdAlgName
)
==
null
)
{
oidTable
.
put
(
stdAlgName
,
new
ObjectIdentifier
(
oidString
));
}
}
}
}
if
(
oidTable
==
null
)
{
oidTable
=
new
HashMap
<
String
,
ObjectIdentifier
>(
1
);
}
initOidTable
=
true
;
}
return
oidTable
.
get
(
name
.
toUpperCase
());
return
oidTable
.
get
(
name
.
toUpperCase
(
Locale
.
ENGLISH
));
}
private
static
ObjectIdentifier
oid
(
int
...
values
)
{
...
...
src/share/classes/sun/security/x509/DNSName.java
浏览文件 @
2917e2a5
/*
* Copyright (c) 1997, 20
0
0, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 20
1
0, 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
...
...
@@ -26,6 +26,7 @@
package
sun.security.x509
;
import
java.io.IOException
;
import
java.util.Locale
;
import
sun.security.util.*
;
...
...
@@ -198,8 +199,9 @@ public class DNSName implements GeneralNameInterface {
else
if
(
inputName
.
getType
()
!=
NAME_DNS
)
constraintType
=
NAME_DIFF_TYPE
;
else
{
String
inName
=
(((
DNSName
)
inputName
).
getName
()).
toLowerCase
();
String
thisName
=
name
.
toLowerCase
();
String
inName
=
(((
DNSName
)
inputName
).
getName
()).
toLowerCase
(
Locale
.
ENGLISH
);
String
thisName
=
name
.
toLowerCase
(
Locale
.
ENGLISH
);
if
(
inName
.
equals
(
thisName
))
constraintType
=
NAME_MATCH
;
else
if
(
thisName
.
endsWith
(
inName
))
{
...
...
src/share/classes/sun/security/x509/RFC822Name.java
浏览文件 @
2917e2a5
/*
* Copyright (c) 1997, 20
0
0, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 20
1
0, 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
...
...
@@ -26,6 +26,7 @@
package
sun.security.x509
;
import
java.io.IOException
;
import
java.util.Locale
;
import
sun.security.util.*
;
...
...
@@ -187,8 +188,9 @@ public class RFC822Name implements GeneralNameInterface
constraintType
=
NAME_DIFF_TYPE
;
}
else
{
//RFC2459 specifies that case is not significant in RFC822Names
String
inName
=
(((
RFC822Name
)
inputName
).
getName
()).
toLowerCase
();
String
thisName
=
name
.
toLowerCase
();
String
inName
=
(((
RFC822Name
)
inputName
).
getName
()).
toLowerCase
(
Locale
.
ENGLISH
);
String
thisName
=
name
.
toLowerCase
(
Locale
.
ENGLISH
);
if
(
inName
.
equals
(
thisName
))
{
constraintType
=
NAME_MATCH
;
}
else
if
(
thisName
.
endsWith
(
inName
))
{
...
...
test/sun/security/x509/AlgorithmId/TurkishRegion.java
0 → 100644
浏览文件 @
2917e2a5
/*
* Copyright (c) 2010, 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 6867345
* @summary Turkish regional options cause NPE in
* sun.security.x509.AlgorithmId.algOID
* @run main/othervm -Duser.language=tr -Duser.region=TR TurkishRegion
* @author Xuelei Fan
*/
import
sun.security.x509.*
;
public
class
TurkishRegion
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
AlgorithmId
algId
=
AlgorithmId
.
get
(
"PBEWITHMD5ANDDES"
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录