Please take a review at
https://cr.openjdk.java.net/~weijun/8212003/webrev.00/
Here, a warning is added when -keyalg is not specified, and some informational
text output that were only available in verbose mode is now always printed.
Below are the exact output you will see after this change. Please note that we
can only create DES SecretKey in JCEKS keystore. Also, depending on whether the
subject is provided through -dname or entered interactively, the warning on the
default -keyalg option appears in different places. In the interactive mode, it
appears at the beginning so that user can exit earlier if the default -keyalg
value is not preferred.
$ keytool -genseckey -alias a -keystore jceks -storepass changeit -storetype
jceks -keypass changeit
Generated 56-bit DES secret key
Warning:
No -keyalg option. The default key algorithm (DES) is a legacy algorithm and is
no longer recommended. In a subsequent release of the JDK, the default will be
removed and the -keyalg option must be specified.
The JCEKS keystore uses a proprietary format. It is recommended to migrate to
PKCS12 which is an industry standard format using "keytool -importkeystore
-srckeystore jceks -destkeystore jceks -deststoretype pkcs12".
c $ keytool -genkeypair -alias c -keystore /tmp/p12 -storepass changeit
Warning:
No -keyalg option. The default key algorithm (DSA) is a legacy algorithm and is
no longer recommended. In a subsequent release of the JDK, the default will be
removed and the -keyalg option must be specified.
What is your first and last name?
[Unknown]: Duke
What is the name of your organizational unit?
[Unknown]: Java
What is the name of your organization?
[Unknown]: Oracle
What is the name of your City or Locality?
[Unknown]: Santa Clara
What is the name of your State or Province?
[Unknown]: CA
What is the two-letter country code for this unit?
[Unknown]: US
Is CN=Duke, OU=Java, O=Oracle, L=Santa Clara, ST=CA, C=US correct?
[no]: yes
Generating 2,048 bit DSA key pair and self-signed certificate (SHA256withDSA)
with a validity of 90 days
for: CN=Duke, OU=Java, O=Oracle, L=Santa Clara, ST=CA, C=US
c $ keytool -genkeypair -alias d -keystore /tmp/p12 -storepass changeit -dname
CN=A
Generating 2,048 bit DSA key pair and self-signed certificate (SHA256withDSA)
with a validity of 90 days
for: CN=A
Warning:
No -keyalg option. The default key algorithm (DSA) is a legacy algorithm and is
no longer recommended. In a subsequent release of the JDK, the default will be
removed and the -keyalg option must be specified.
Thanks
Max