Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
49670cac
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看板
提交
49670cac
编写于
2月 05, 2013
作者:
V
vinnie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8007483: attributes are ignored when loading keys from a PKCS12 keystore
Reviewed-by: mullan
上级
a7091b19
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
17 addition
and
3 deletion
+17
-3
src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java
src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java
+6
-1
test/sun/security/pkcs12/StorePasswordTest.java
test/sun/security/pkcs12/StorePasswordTest.java
+11
-2
未找到文件。
src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java
浏览文件 @
49670cac
...
...
@@ -1116,7 +1116,7 @@ public final class PKCS12KeyStore extends KeyStoreSpi {
if
(
privateKeyCount
>
0
||
secretKeyCount
>
0
)
{
if
(
debug
!=
null
)
{
debug
.
println
(
"Storing "
+
privateKeyCount
+
debug
.
println
(
"Storing "
+
(
privateKeyCount
+
secretKeyCount
)
+
" protected key(s) in a PKCS#7 data content-type"
);
}
...
...
@@ -2122,6 +2122,7 @@ public final class PKCS12KeyStore extends KeyStoreSpi {
SecretKeyEntry
kEntry
=
new
SecretKeyEntry
();
kEntry
.
protectedSecretKey
=
secretValue
.
getOctetString
();
bagItem
=
kEntry
;
secretKeyCount
++;
}
else
{
if
(
debug
!=
null
)
{
...
...
@@ -2220,6 +2221,10 @@ public final class PKCS12KeyStore extends KeyStoreSpi {
if
(
bagItem
instanceof
PrivateKeyEntry
)
{
keyList
.
add
((
PrivateKeyEntry
)
entry
);
}
if
(
entry
.
attributes
==
null
)
{
entry
.
attributes
=
new
HashSet
<>();
}
entry
.
attributes
.
addAll
(
attributes
);
if
(
alias
==
null
)
{
alias
=
getUnfriendlyName
();
}
...
...
test/sun/security/pkcs12/StorePasswordTest.java
浏览文件 @
49670cac
...
...
@@ -51,8 +51,12 @@ public class StorePasswordTest {
keystore
.
load
(
null
,
null
);
// Set entry
Set
<
KeyStore
.
Entry
.
Attribute
>
attrs
=
new
HashSet
<>();
attrs
.
add
(
new
PKCS12Attribute
(
"1.3.5.7.9"
,
"printable1"
));
attrs
.
add
(
new
PKCS12Attribute
(
"2.4.6.8.10"
,
"1F:2F:3F:4F:5F"
));
int
originalAttrCount
=
attrs
.
size
()
+
2
;
keystore
.
setEntry
(
ALIAS
,
new
KeyStore
.
SecretKeyEntry
(
convertPassword
(
USER_PASSWORD
)),
new
KeyStore
.
SecretKeyEntry
(
convertPassword
(
USER_PASSWORD
)
,
attrs
),
new
KeyStore
.
PasswordProtection
(
PASSWORD
));
try
(
FileOutputStream
outStream
=
new
FileOutputStream
(
KEYSTORE
))
{
...
...
@@ -69,7 +73,12 @@ public class StorePasswordTest {
KeyStore
.
Entry
entry
=
keystore
.
getEntry
(
ALIAS
,
new
KeyStore
.
PasswordProtection
(
PASSWORD
));
System
.
out
.
println
(
"Retrieved entry: "
+
entry
);
int
attrCount
=
entry
.
getAttributes
().
size
();
System
.
out
.
println
(
"Retrieved entry with "
+
attrCount
+
" attrs: "
+
entry
);
if
(
attrCount
!=
originalAttrCount
)
{
throw
new
Exception
(
"Failed to recover all the entry attributes"
);
}
SecretKey
key
=
(
SecretKey
)
keystore
.
getKey
(
ALIAS
,
PASSWORD
);
SecretKeyFactory
factory
=
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录