两个应用程序之间的安全密码通信

Secure password communication between 2 applications

我正在编写一个程序,它就像我的同事在日常工作中需要的瑞士军刀工具。该工具的一个特点是能够远程连接到客户端并对其进行控制。 我们已经有一个名为 Dameware Mini Remote Control 的应用程序,它不是由我们编写的,它可以完成这项工作。我的应用只是在一个进程中启动这个软件并交出用户名和密码,用户已经预先输入了。

在 Dameware 工具的文档中,它说应该使用这些参数调用该进程: "dwrcc.exe [-?|-?:] [-c:] [-h:] [-m:MachineName] [-u:UserName] [-p:Password | -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 应用程序?

非常感谢任何建议。

这在一般情况下是不可能的。如果唯一的选择是通过命令行参数传递密码,则您只有此选项。

但是,如果目标应用程序支持另一种接收密码的方式,那将是可能的。这是特定于应用程序的,并不适用于所有应用程序。

由于我对 Dameware Mini Remote Control 不熟悉,所以我无法判断在这种特定情况下是否存在这样的选项。