Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
af0405f0
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看板
提交
af0405f0
编写于
7月 25, 2017
作者:
W
weijun
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8029659: Keytool, print key algorithm of certificate or key entry
Reviewed-by: xuelei
上级
2d2ec5a7
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
62 addition
and
18 deletion
+62
-18
src/share/classes/sun/security/tools/keytool/Main.java
src/share/classes/sun/security/tools/keytool/Main.java
+14
-17
src/share/classes/sun/security/tools/keytool/Resources.java
src/share/classes/sun/security/tools/keytool/Resources.java
+1
-1
test/sun/security/tools/keytool/keyalg.sh
test/sun/security/tools/keytool/keyalg.sh
+47
-0
未找到文件。
src/share/classes/sun/security/tools/keytool/Main.java
浏览文件 @
af0405f0
...
...
@@ -64,6 +64,8 @@ import java.security.cert.X509CRLEntry;
import
java.security.cert.X509CRLSelector
;
import
javax.security.auth.x500.X500Principal
;
import
java.util.Base64
;
import
sun.security.util.KeyUtil
;
import
sun.security.util.ObjectIdentifier
;
import
sun.security.pkcs10.PKCS10
;
import
sun.security.pkcs10.PKCS10Attribute
;
...
...
@@ -1061,8 +1063,13 @@ public final class Main {
doChangeKeyPasswd
(
alias
);
kssave
=
true
;
}
else
if
(
command
==
LIST
)
{
if
(
storePass
==
null
&&
!
KeyStoreUtil
.
isWindowsKeyStore
(
storetype
))
{
printWarning
();
}
if
(
alias
!=
null
)
{
doPrintEntry
(
alias
,
out
,
true
);
doPrintEntry
(
alias
,
out
);
}
else
{
doPrintEntries
(
out
);
}
...
...
@@ -1724,15 +1731,9 @@ public final class Main {
/**
* Prints a single keystore entry.
*/
private
void
doPrintEntry
(
String
alias
,
PrintStream
out
,
boolean
printWarning
)
private
void
doPrintEntry
(
String
alias
,
PrintStream
out
)
throws
Exception
{
if
(
storePass
==
null
&&
printWarning
&&
!
KeyStoreUtil
.
isWindowsKeyStore
(
storetype
))
{
printWarning
();
}
if
(
keyStore
.
containsAlias
(
alias
)
==
false
)
{
MessageFormat
form
=
new
MessageFormat
(
rb
.
getString
(
"Alias.alias.does.not.exist"
));
...
...
@@ -2049,13 +2050,6 @@ public final class Main {
private
void
doPrintEntries
(
PrintStream
out
)
throws
Exception
{
if
(
storePass
==
null
&&
!
KeyStoreUtil
.
isWindowsKeyStore
(
storetype
))
{
printWarning
();
}
else
{
out
.
println
();
}
out
.
println
(
rb
.
getString
(
"Keystore.type."
)
+
keyStore
.
getType
());
out
.
println
(
rb
.
getString
(
"Keystore.provider."
)
+
keyStore
.
getProvider
().
getName
());
...
...
@@ -2074,7 +2068,7 @@ public final class Main {
for
(
Enumeration
<
String
>
e
=
keyStore
.
aliases
();
e
.
hasMoreElements
();
)
{
String
alias
=
e
.
nextElement
();
doPrintEntry
(
alias
,
out
,
false
);
doPrintEntry
(
alias
,
out
);
if
(
verbose
||
rfc
)
{
out
.
println
(
rb
.
getString
(
"NEWLINE"
));
out
.
println
(
rb
.
getString
...
...
@@ -2881,6 +2875,7 @@ public final class Main {
MessageFormat
form
=
new
MessageFormat
(
rb
.
getString
(
".PATTERN.printX509Cert"
));
PublicKey
pkey
=
cert
.
getPublicKey
();
Object
[]
source
=
{
cert
.
getSubjectDN
().
toString
(),
cert
.
getIssuerDN
().
toString
(),
cert
.
getSerialNumber
().
toString
(
16
),
...
...
@@ -2890,7 +2885,9 @@ public final class Main {
getCertFingerPrint
(
"SHA1"
,
cert
),
getCertFingerPrint
(
"SHA-256"
,
cert
),
cert
.
getSigAlgName
(),
cert
.
getVersion
()
pkey
.
getAlgorithm
(),
KeyUtil
.
getKeySize
(
pkey
),
cert
.
getVersion
(),
};
out
.
println
(
form
.
format
(
source
));
...
...
src/share/classes/sun/security/tools/keytool/Resources.java
浏览文件 @
af0405f0
...
...
@@ -346,7 +346,7 @@ public class Resources extends java.util.ListResourceBundle {
{
".RETURN.if.same.as.for.otherAlias."
,
"\t(RETURN if same as for <{0}>)"
},
{
".PATTERN.printX509Cert"
,
"Owner: {0}\nIssuer: {1}\nSerial number: {2}\nValid from: {3} until: {4}\nCertificate fingerprints:\n\t MD5: {5}\n\t SHA1: {6}\n\t SHA256: {7}\n
\t Signature algorithm name: {8}\n\t Version: {9
}"
},
"Owner: {0}\nIssuer: {1}\nSerial number: {2}\nValid from: {3} until: {4}\nCertificate fingerprints:\n\t MD5: {5}\n\t SHA1: {6}\n\t SHA256: {7}\n
Signature algorithm name: {8}\nSubject Public Key Algorithm: {9} ({10,number,#})\nVersion: {11
}"
},
{
"What.is.your.first.and.last.name."
,
"What is your first and last name?"
},
{
"What.is.the.name.of.your.organizational.unit."
,
...
...
test/sun/security/tools/keytool/keyalg.sh
0 → 100644
浏览文件 @
af0405f0
#
# Copyright (c) 2017, 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 8029659
# @summary Keytool, print key algorithm of certificate or key entry
#
if
[
"
${
TESTJAVA
}
"
=
""
]
;
then
JAVAC_CMD
=
`
which javac
`
TESTJAVA
=
`
dirname
$JAVAC_CMD
`
/..
fi
KS
=
ks
KEYTOOL
=
"
$TESTJAVA
/bin/keytool
${
TESTTOOLVMOPTS
}
-keystore ks -storepass changeit -keypass changeit"
rm
$KS
2> /dev/null
$KEYTOOL
-genkeypair
-alias
ca
-dname
CN
=
CA
-keyalg
EC
||
exit
1
$KEYTOOL
-genkeypair
-alias
user
-dname
CN
=
User
-keyalg
RSA
-keysize
1024
||
exit
2
$KEYTOOL
-certreq
-alias
user |
$KEYTOOL
-gencert
-alias
ca
-rfc
-sigalg
SHA1withECDSA |
$KEYTOOL
-printcert
>
user.dump
||
exit
3
cat
user.dump |
grep
"Signature algorithm name:"
|
grep
SHA1withECDSA
||
exit
4
cat
user.dump |
grep
"Subject Public Key Algorithm:"
|
grep
RSA |
grep
1024
||
exit
5
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录