Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用参数-[Java-OpenSSL]执行批处理文件_Java_Windows_Batch File_Openssl_Processbuilder - Fatal编程技术网

使用参数-[Java-OpenSSL]执行批处理文件

使用参数-[Java-OpenSSL]执行批处理文件,java,windows,batch-file,openssl,processbuilder,Java,Windows,Batch File,Openssl,Processbuilder,我试图在.bat文件中使用openSSL命令生成证书,并从Java代码中调用它- String loc = "C:\\Users\\xyz\\Desktop\\myFolder\\bin"; String subject = "/C=GB/ST=London/L=London/O=Global Security/OU=software/CN=blah/emailAddress=a.b@xyz.com"; List<String> cmds = Arrays.asList("cmd.e

我试图在.bat文件中使用openSSL命令生成证书,并从Java代码中调用它-

String loc = "C:\\Users\\xyz\\Desktop\\myFolder\\bin";
String subject = "/C=GB/ST=London/L=London/O=Global Security/OU=software/CN=blah/emailAddress=a.b@xyz.com";
List<String> cmds = Arrays.asList("cmd.exe", "/C", "start C:/Users/xyz/Desktop/myBat.bat", loc, subject);
ProcessBuilder builder = new ProcessBuilder(cmds);           
Process proc = builder.start();
从java代码传递的主题不允许我执行bat文件? 我试着避开正斜杠,但还是犯了同样的错误

如何通过java代码将-subh[openSSL]传递到bat文件

注意-这工作正常[硬编码]

openssl req -new -out server.csr -key server.key -config openssl.cnf -subj "/C=GB/ST=London/L=London/O=Global Security/OU=software/CN=blah/emailAddress=a.b@xyz.com"

请尝试此操作,为您的进程提供3个参数,第三个参数需要是将传递给cmd.exe的单个命令,并且在该命令中,您需要在主题周围加引号:

List<String> cmds = Arrays.asList(
        "cmd.exe",
        "/C",
        "start C:/Users/xyz/Desktop/myBat.bat " + loc + " \"" + subject + "\""
);

set arg2=/C,在命令行中执行,似乎=未被解析。哦,我错过了主题的内容,你能试着引用上面编辑的内容吗?
List<String> cmds = Arrays.asList(
        "cmd.exe",
        "/C",
        "start C:/Users/xyz/Desktop/myBat.bat " + loc + " \"" + subject + "\""
);