我正在创建一个用户可以保存不同凭据的站点,在登录VM时,他们可以选择使用特定凭据登录。因此,我必须生成一个包含所选用户名/密码的rdp文件。这很好,但问题是rdp文件中的密码需要使用crypt32.dll中的CryptProtectData函数进行加密。这可以毫不费力地完成,但问题是文件只能在创建它的计算机上解密。
因此,即使我动态创建一个rdp文件并将其发送给客户端,它们也无法打开它,因为它不是在他们的机器上创建的。因此,我必须以某种方式从客户端加密密码并生成rdp文件。但我无法知道如何从客户端调用COM对象的函数。
请帮忙。
答案 0 :(得分:0)
解决方案是不要这样做。相反,生成没有密码的RDP文件,并训练用户选中该框以将凭据保存在他们的计算机上。
设置prompt for credentials:i:0
,系统会在第一时间提示用户输入用户名和密码。他们将有机会选中一个框以保存凭据,并且不会在以后的场合再次询问。
请注意,您无法在浏览器中调用CryptProtectData。如果您无法在用户的计算机上安装软件,或者让用户执行此操作,则根本无法执行此操作。
曾经有过这样做的能力,但在XPSP2和2003SP1中删除了它。