查看服务器端的证书: ls 'Cert:\LocalMachine\Remote Desktop\'
然后使用传统的 mstsc 连接, 得到的证书指纹和服务器端的一致.
这没什么问题, 但是, 使用 UWP 的 Remote Desktop App 连接时, 狗血的事情发生了:
UWP Remote Desktop App 显示的证书指纹不一致, uwp 里面显示的指纹看起来像 MD5 算法的 (32 个字符 /128 位), 试着把服务端的证书复制出来, 使用 openssl 查看 md5 指纹:
# 查看 SHA1 指纹
openssl x509 -noout -fingerprint -sha1 -inform der -in xxx.cer
# 查看 MD5 指纹
openssl x509 -noout -fingerprint -md5 -inform der -in xxx.cer
结果, sha1 指纹和 mmc/mstsc 里面显示的指纹一致, 说明他们使用的是 sha1 算法, 但是 md5 指纹和 uwp RDP app 显示的不一致, 狗血.
怀疑人生了, 应该不存在被中间人的可能, Google 半天也只看到一个帖子说这个问题, 最后没有结论, 有用户分析了 mstsc 和 uwp 使用的证书是一致的, 只是指纹算法可能不一样.
那么问题来了? RDP app 该如何验证我连接的服务器是真正的服务器呢(没有 AD 等高端基础设施的情况下)?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.