Я пишу программу, которая похожа на швейцарский армейский нож, который нужен моим коллегам в повседневной работе.Одной из особенностей этого инструмента является возможность удаленного подключения к клиенту и управления им.У нас уже есть приложение под названием Dameware Mini Remote Control , не написанное нами, которое выполняет эту точную работу.Мое приложение просто запускает это программное обеспечение в процессе и передает имя пользователя и пароль, которые пользователь ввел заранее.
В документации к инструменту Dameware говорится, что процесс должен вызываться с такими аргументами: "dwrcc.exe [-? | - ?:] [-c:] [-h:] [-m: имя_компьютера] [-u: имя_пользователя] [-p: пароль | -p: "пароль"] [-d: домен] [-o: TCPport] [-s: SharedSecret] [-r:] [-vnc:] [-a: 0 | 1 | 2] [-prxa: MRCproxyAddress] [-prxp: MRCproxyPort] [-prxsMRCproxySecret] [-v:] [-md:] [-i: n] [-x:] [-bh: CentralServerHostAddress] [-bpn: CentralServerPortNumber] [-bu: CentralServerUserName] [-bps: CentralServerUserPassword] "
Меня беспокоит, что предоставление пароля в опции -p небезопасно, потому что это в основном простой текст.
Вот часть моего кода, где я предоставляю аргументы командной строки:
proc.StartInfo.Arguments = $"-c: -h: -x: -m:{TxtHostname} -d:{MainUI.Credentials.DomainName} -u:{MainUI.Credentials.UserName} -p:{LoginCredentials.Decrypt(MainUI.Credentials.EncryptedPassword)}";
Есть ли безопасный способ передачи пароля приложению Dameware внутри процесса?
Любые предложения приветствуются.