Salve,
ho risolto il problema nel seguente modo. Esistono due versioni del metodo
exec:
-
exec(String command)
-
exec(String[] command)
Utilizzando il primo metodo la stringa viene passata ad un oggetto StringTokenizer che terrà conto dei caratteri di spazio andando così a separare guppi di caratteri che dovrebbero essere invece considerati come un blocco unico. Nel mio caso ad esempio /CN= Tizio Caio/O= My Organitazion... verrebbe separata come:
-
/CN=
-
Tizio
-
Caio/O=
-
ecc...
Per imporre una giusta parametrizzazione bisogna utilizzare la seconda versione del metodo exec nel seguente modo:
...
String[] command = new String[size];
command[0] = "openssl";
command[1] = "req";
...
command[size - 1] = "/CN=Tizio Caio/O=My Organization/...";
runtime.exec(command);
...
Spero che la cosa possa essere di aiuto ad altri sventurati che si trovano costretti a venire a capo di strani giochi di prestigio...
A presto.
eroZero