Hi All I'm implementing new keytool commands. The following command throw an exception:
$ cat req | keytool -gencert | keytool -printcert Exception in thread "main" java.lang.Exception: Empty input at sun.security.tools.KeyTool.printCertFromStream(KeyTool.java:1898) at sun.security.tools.KeyTool.doPrintCert(KeyTool.java:1998) at sun.security.tools.KeyTool.doCommands(KeyTool.java:946) at sun.security.tools.KeyTool.run(KeyTool.java:192) at sun.security.tools.KeyTool.main(KeyTool.java:186) Here keytool -printcert uses X509Factory.engineGenerateCertificates(is) to read certificates from an input stream. Unfortunately, it uses is.available() to check if there are more bytes coming. Since keytool -gencert runs slower, the pipe is empty when keytool -printcert tries to peek into it. Is this the intended behavior? Shall we block instead? Thanks Max