利用C 呼叫cmd執行OpenSSL申請私鑰

2022-10-10 21:42:19 字數 1069 閱讀 2565

問題

在利用openssl申請私鑰的時候,我遇到乙個問題:在cmd視窗中手動輸入執行指令 

openssl.exe genrsa -aes256 -out c:\\test\\key.pem 4096

之後會有乙個等待輸入密碼和驗證密碼的過程,但是在利用c#呼叫程序執行指令的時候並不能捕獲到此輸入的標誌

解決解決1:

openssl genrsa [-out filename] [-passout arg] [-des] [-des3] [-idea] [numbits]

openssl的使用引數:a.pass:password   :password表示傳遞的明文密碼 在原有指令上加上此引數即可省去密碼設定和驗證的步驟,實現如下

openssl.exe genrsa -aes256 -passout password:123456 -out c:\\test\\key.pem 4096

解決2:

寫乙個python指令碼來執行這一步動作

import wexpect

cmd = "c:\\openssl\\bin\\openssl.exe genrsa -aes256 -out \\key.pem 4096".format(target_path)

child = wexpect.spawn(cmd)

child.expect('phrase')

time.sleep(1)

print(child.before,end='')

print(child.after,end='')

child.sendline(password)

child.expect('phrase')

time.sleep(1)

print(child.before,end='')

print(child.after,end='')

child.sendline(password)

print(child.before,end='')

print()

(人懶,沒有截完整的,但是可以借鑑)

C 呼叫CMD,等CMD執行完後繼續執行C

原文 在這裡記錄乙個小技巧,可以在程式執行的時候呼叫cmd命令。然後等待cmd命令執行完的時候,繼續執行程式。cstring paramstr startupinfo si process information pi 要執行的完整cmd命令,一般是乙個字串 建立執行緒 bool fret1 cre...

C 呼叫CMD,等CMD執行完後繼續執行C

在這裡記錄乙個小技巧,可以在程式執行的時候呼叫cmd命令。然後等待cmd命令執行完的時候,繼續執行程式。cstring paramstr startupinfo si process information pi 要執行的完整cmd命令,一般是乙個字串 建立執行緒 bool fret1 create...

C 呼叫cmd執行ftp命令

1 c 執行cmd命令 public string execommand p.standardinput.writeline ping 134.224.48.78 p.standardinput.writeline exit stroutput p.standardoutput.readtoend ...