过去,对于如何以编程方式挂载驱动器进行了大量富有成效的讨论。
此链接是一个富有成效的示例: How do I map a network drive that requires a username and password in .NET?
但是,我似乎缺少一种在需要 TLS 时执行此挂载的方法。
我们看到这样的事情: net.exe 使用 x: "\server.com@ssl:443\folder"/User:用户名密码
可以在代码中使用的地方:
System.Diagnostics.ProcessStartInfo process = new System.Diagnostics.ProcessStartInfo();
process.FileName = "net.exe";
process.Arguments = "使用 Z:\\\\JoeDoodle.TheDomain5.com@SSL\\MyFolder\\PassW0rd/user:JoeUser";
process.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
System.Diagnostics.Process p = System.Diagnostics.Process.Start(进程);
//其他东西...
这种事情适用于 SSL 但不适用于 TLS。这是一个 .Net 4.0 应用程序,我们的测试基础在 Windows 7 上启动。由于我们将其作为所示进程运行,所以我不确定这无关紧要。
我不能使用 WNetAddConnection2 和相关导入,因为这是一个远程驱动器。另一端是 Linux 公开 Webdav,它适用于 SSL,但不适用于 TLS。他们正在逐步淘汰 SSL,因此我必须使用 TLS。
任何以编程方式挂载它的方式都可能适用于 TLS,但我还没有找到成功的组合。
感谢任何帮助。
最佳答案
问题最终不是 Windows 问题而是 Apache 问题。
Apache 不仅需要关闭 SSLv3,还需要稍微更改代码并重新编译。
这仅适用于 Windows 7 连接,所以我不知道 Windows 8。
关于c# - 在具有 TLS 安全性的 .Net 中映射网络驱动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26915381/