RFR 8023197: Pre-configured command line options for keytool and jarsigner (original) (raw)

Xuelei Fan xuelei.fan at oracle.com
Tue Jun 10 06:01:52 UTC 2014


On 6/10/2014 12:37 PM, Wang Weijun wrote:

On Jun 6, 2014, at 20:22, Xuelei Fan <xuelei.fan at oracle.com> wrote:

src/share/classes/sun/security/tools/KeyStoreUtil.java ====================================================== 224 throw new IOException("Cannot have both " + c1 + " and " + c2); "Cannot have both pre-configured options ..."? This means you cannot define both "keytool.genkeypair" and "keytool.genkey". -genkey is an obsolete command name but we still support it secretly. I mean you may want to mention that this exception occurs in "pre-configured options".

176 st.whitespaceChars(0x00, 0x20); 177 st.wordChars(0x21, 0xFF); I'm not sure of the code above, would you like have to test for none-ASCII characters? I cannot find any spec on this, but the source has ctype = c < 256 ? ct[c] : CTALPHA; which means every non-ASCII is a word char (no support for wide numerals). StreamTokenizer only allows you to categorize the ASCII chars. I'm not sure too. If "0x01 0x05" is a character, does the above code treat the "0x01" and "0x05" as white space?

Here is a Unicode table: http://www.tamasoft.co.jp/en/general-info/unicode.html

194 * @param c1 the name of the command, must not be null 195 * @param c2 the alternative command name, null if none. Mention that c1 and c2 need to come with leading '-'? I'll add "with the "-" prefix".

src/share/classes/sun/security/tools/jarsigner/Main.java ======================================================== 293 for (n=0; n < args.length; n++) { Break after the found of the target options? I'm looking for both -conf and -verify (and their last appearances). It will be complex to maintain two flags. One int flag (0, 1, 2) should be enough, and simple.

313 System.out.println("Command line args: " + Define a new resource? I suppose it's not necessary to localize debug outputs. The -debug option is also not documented. OK, please add a comment line.

src/share/classes/sun/security/tools/keytool/Main.java 404 for (i=0; i < args.length; i++) { Break after the found of the target options? Or loop from the end of the array? Same reason as above. See above.

429 System.out.println("Command line args: " + Define a new resource? Same reason as above. See above.

Xuelei

Thanks Max

Otherwise, looks fine to me. Thanks, Xuelei On 6/6/2014 3:27 PM, Wang Weijun wrote: Please review the code changes in

http://cr.openjdk.java.net/~weijun/8023197/webrev.02 This enhancement allows you to put frequently used keytool/jarsigner options into a property file and use -conf to load it. Like this: # A Pre-configured options file keytool.all = -storepass:env PASS -keypass:env PASS -keystore ${user.dir}/.p12 -storetype pkcs12 keytool.genkeypair = -keyalg rsa -keysize 2048 -sigalg SHA256withRSA -validity 365 Thanks Max



More information about the security-dev mailing list