batch handling

tobi88

Aktives Mitglied
Hallo zusammen,

ich habe ein commandozeilenprogramm (easy-rsa) welche ich gerne mit java steuern möchte.

Es sieht wie folgt aus: ich starte die build-key-pass.bat datei. Darauf folgen Benutzereingaben, wie passwort, name usw, die vom benutzer eingetippt werden sollen.

Wie kann ich diese eingaben mit Java automatisieren?

Vielen Dank im voraus :)

Gruß
Tobi
 

faetzminator

Gesperrter Benutzer
Besser schaust du, dass derjenige User, unter welchem das Javaprogramm läuft, die Berechtigung hat, dies ohne Passwort auszuführen. So kann man z.B. [c]sudo[/c] unter Linux so konfigurieren, dass bestimmte Befehle eines Users ohne Passwortabfrage ausgeführt werden können (sudo führt einen Befehl mit bestimmten Userrechten aus).
 

tobi88

Aktives Mitglied
du schaust in die build-key-pass.bat und machst den aufruf gegen die exe direkt

Danke für eure Antworten :)

Code:
openssl req -days 123 -new -keyout keys\test.key -out keys\test.csr -config openssl.cnf

Wenn ich den Befehl direkt aufrufe, muss ich trotzdem noch Passwort und co eingeben :(
Mit openssl /? komme ich nicht weiter. Scheint es auch gar nicht zu geben o_O Ich steh gerade ziemlich auf dem Schlauch


Code:
openssl:Error: '/?' is an invalid command.

Standard commands
asn1parse      ca             ciphers        crl            crl2pkcs7
dgst           dh             dhparam        dsa            dsaparam
enc            engine         errstr         gendh          gendsa
genrsa         nseq           ocsp           passwd         pkcs12
pkcs7          pkcs8          prime          rand           req
rsa            rsautl         s_client       s_server       s_time
sess_id        smime          speed          spkac          verify
version        x509

Message Digest commands (see the `dgst' command for more details)
md2            md4            md5            mdc2           rmd160
sha            sha1

Cipher commands (see the `enc' command for more details)
aes-128-cbc    aes-128-ecb    aes-192-cbc    aes-192-ecb    aes-256-cbc
aes-256-ecb    base64         bf             bf-cbc         bf-cfb
bf-ecb         bf-ofb         cast           cast-cbc       cast5-cbc
cast5-cfb      cast5-ecb      cast5-ofb      des            des-cbc
des-cfb        des-ecb        des-ede        des-ede-cbc    des-ede-cfb
des-ede-ofb    des-ede3       des-ede3-cbc   des-ede3-cfb   des-ede3-ofb
des-ofb        des3           desx           idea           idea-cbc
idea-cfb       idea-ecb       idea-ofb       rc2            rc2-40-cbc
rc2-64-cbc     rc2-cbc        rc2-cfb        rc2-ecb        rc2-ofb
rc4            rc4-40         rc5            rc5-cbc        rc5-cfb
rc5-ecb        rc5-ofb


Man kann doch bestimmt auch aus dem Java-Programm die Daten schicken. Ist zwar nicht so ein besonders guter Stil, aber gehen müsste es doch?

Gruß
 

tobi88

Aktives Mitglied
Code:
openssl req -days 3650 -new -passout pass:password -subj /countryName=US/stateOrProvinceName=CA/localityName=SanFrancisco/organizationName=SplunkInc/commonName=SplunkCA/organizationName=SplunkUser/ -keyout keys\nutzername.key -out keys\nutzername.csr -config openssl.cnf

Hiermit geht es, was ich möchte.


Aber meine Frage bleibt immernoch offen, ob ich die Daten nicht auch mit Java senden kann bzw wie das geht :)

Gruß
Tobi
 

faetzminator

Gesperrter Benutzer
Warum willst du das "mit Java senden"? Ist doch viel einfacher, wenn du das Passwort einfach direkt als Parameter übergeben kannst. Andernfalls musst du die Streams auslesen, die Abfragen prüfen etc. - auf alle Fälle sehr umständlich.
 

faetzminator

Gesperrter Benutzer
Die Zeile muss man nicht in eine Bat (es ist ein Shell/Bash Script ;) ) packen. Man kann sie auch direkt aus Java aufrufen und jeden beliebigen User und Key mitschicken. Das Script wird ja sowieso von dem Javaprogramm gestartet... Man kann aber natürlich mit Parametern für das Script arbeiten, dass man danach einfach das Script mit [c]foo.sh <user> <pass>[/c] aufrufen kann.
 

tobi88

Aktives Mitglied
Warum willst du das "mit Java senden"? Ist doch viel einfacher, wenn du das Passwort einfach direkt als Parameter übergeben kannst. Andernfalls musst du die Streams auslesen, die Abfragen prüfen etc. - auf alle Fälle sehr umständlich.

Stimmt schon, dass es direkt mit den Parametern einfacher und besser geht. Es geht mir jetzt gerade nur um den Lerneffekt. Ich will ja nicht dumm bleiben ;) Habe im Netz noch nichts brauchbares gefunden :(
 

faetzminator

Gesperrter Benutzer
Du kannst auf den Error- und Outputstream des externen Programmes hören. Sobald da irgendwas wie "Login:" kommt, weisst du dass du im Inputstream den Username (oder das PW) übergeben und den Stream flushen musst.
 

tobi88

Aktives Mitglied
Du kannst auf den Error- und Outputstream des externen Programmes hören. Sobald da irgendwas wie "Login:" kommt, weisst du dass du im Inputstream den Username (oder das PW) übergeben und den Stream flushen musst.

gemacht :)

Code:
String s = null;

        try {
            
        	ProcessBuilder builder = new ProcessBuilder("cmd.exe");
        	builder.redirectErrorStream(true);
        	Process p = builder.start();
        	
            
            BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));

            BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));

            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));

            
            writer.write("cd c:\\test\\\n");
            
            writer.write("dir\n");
            
            writer.close();
            
            System.out.println("Normaler Output:");
            while ((s = stdInput.readLine()) != null) {
                System.out.println(s);
            }

            System.out.println("Error Output");
            while ((s = stdError.readLine()) != null) {
                System.out.println(s);
            }
            
            System.exit(0);
        }
        catch (IOException e) {
            e.printStackTrace();
            System.exit(-1);
        }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
L Bubblesort in Batch Script Java Basics - Anfänger-Themen 15
B Java Eclipse Programm in einer Batch ausführen Java Basics - Anfänger-Themen 3
M Java Programm über Batch-Datei ausführen Java Basics - Anfänger-Themen 1
T Einen Batch Code ausführen Java Basics - Anfänger-Themen 2
H Batch von Java aus auführen Java Basics - Anfänger-Themen 6
Steve5000 Externe Batch-Datei starten und anwendung beenden?! Java Basics - Anfänger-Themen 4
H java programm per batch datei öffnen Java Basics - Anfänger-Themen 4
P Batch File Java Basics - Anfänger-Themen 6
J Batch Datei Problem, Programm nur einmal starten Java Basics - Anfänger-Themen 9
J Batch Datei liefert CLASS NOT FOUND Warum !? Java Basics - Anfänger-Themen 11
Sebi Was ist eine Batch datei Java Basics - Anfänger-Themen 2
D Java per Konsole oder Batch öffnen - Problem Java Basics - Anfänger-Themen 4
Developer_X Batch Methode "dir" in Java? Java Basics - Anfänger-Themen 36
Developer_X Batch Datei soll auf lokale JLibrary zugreifen Java Basics - Anfänger-Themen 11
K Java Application mit Batch-datei starten Java Basics - Anfänger-Themen 9
P Mit extra VM starten / Batch-Datei / Unter Linux? Java Basics - Anfänger-Themen 22
F Externe Batch Datei aufrufen Java Basics - Anfänger-Themen 5
D Batch-Datei Java Basics - Anfänger-Themen 9
S Batch-Datei mit unterdrückter CMD ausführen Java Basics - Anfänger-Themen 11
F Batch File starten ! Java Basics - Anfänger-Themen 3
G Batch aufrufen klappt nicht mit Runtime Java Basics - Anfänger-Themen 5
G Batch-file für Javaprogramme Java Basics - Anfänger-Themen 7
D batch befehl . jar datei starten Java Basics - Anfänger-Themen 8
T miniproblem mit batch datei Java Basics - Anfänger-Themen 4
H Start von der Konsole / Batch-Datei /Stapelverarbeitung Java Basics - Anfänger-Themen 8
G Batch-Datei starten Java Basics - Anfänger-Themen 5
I JAX-RS Exception Handling Java Basics - Anfänger-Themen 4
T Übungsaufgabe Event Handling Java Basics - Anfänger-Themen 0
J Thread Handling Java Basics - Anfänger-Themen 9
M Exception Handling Java Basics - Anfänger-Themen 2
llabusch Exceotion.Handling Aufgabe mit "throw" Java Basics - Anfänger-Themen 13
U Threadsafe Event-Handling Java Basics - Anfänger-Themen 2
G Frage zu Exception-Handling Java Basics - Anfänger-Themen 5
U [Problem] Handling multiple frames Java Basics - Anfänger-Themen 5
C Klassen NullPointerException beim Event Handling in GUI Java Basics - Anfänger-Themen 8
S Threads Handling multiple different Threads Java Basics - Anfänger-Themen 7
X JFrame als JAR unsichtbar trotz Exception Handling Java Basics - Anfänger-Themen 5
S Schlechter Stil beim Exception Handling Java Basics - Anfänger-Themen 6
S Exception-Handling in main-Funktion? Java Basics - Anfänger-Themen 6
S Exception Handling Java Basics - Anfänger-Themen 4
M Frage zu Exception Handling Java Basics - Anfänger-Themen 10
P Handling mit 2D-Arrays Java Basics - Anfänger-Themen 9
D Exception Handling Java Basics - Anfänger-Themen 3
Z csv Dateien und ihr Handling Java Basics - Anfänger-Themen 3
D OOP Exception Handling - NullPointerException Java Basics - Anfänger-Themen 17
N paint methode statt Event-Handling-Methode Java Basics - Anfänger-Themen 3
B Applet: Event-Handling-Methode in start- bzw. paint-Methode Java Basics - Anfänger-Themen 7
B jTextField handling in Berechnungsprogramm Diskussion Java Basics - Anfänger-Themen 4
M Exception handling Java Basics - Anfänger-Themen 5
J Event-Handling geht nicht Java Basics - Anfänger-Themen 6
T Exception-Handling beim Lesen einer XML-Datei mit XMLDecoder Java Basics - Anfänger-Themen 4
G Exception-Handling Java Basics - Anfänger-Themen 6
L Thread-Handling & Standard-Ausgabe verschönern Java Basics - Anfänger-Themen 7
D Thread Handling Java Basics - Anfänger-Themen 10
B Exception Handling in der ActionPerformed-Methode Java Basics - Anfänger-Themen 7
G start-oder paint-Methode anstatt Event-Handling-Methode? Java Basics - Anfänger-Themen 3
G GUI Event Handling Java Basics - Anfänger-Themen 5
T Exception Handling? Java Basics - Anfänger-Themen 6
N File-Handling Java Basics - Anfänger-Themen 4
A Exception Handling Fragen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben