如何在Windows 10上使用C#以编程方式检查SSH私钥是否具有密码

时间:2018-10-26 22:13:13

标签: ssh .net passphrase

我已经知道有两个类似的问题,但是答复中有一个模式,即答案假定此检查是在Linux或类似系统上进行的。这意味着他们将ssh-keygen称为解决方案。在这种情况下,这是不可行的。

我正在开发的客户端程序需要接受私钥文件引用,然后在需要时提示用户输入密码。该程序是在Windows 10下用C#编写的。语言和操作系统不是可选的。用于SSH身份验证的库是Renci.SSH(也是可选的)。我所能做的就是将文本文件流化并解析。 其他答案(以及我刚刚使用PuTTY Gen创建的示例)表明该文件将在标题中包含以下内容: 进程类型:4,已加密

但是进一步的阅读表明这不是一个可靠的测试。这是我正在阅读的内容: How to check if an SSH private key has passphrase or not? 在我的使用环境中,Jakuje的答案(ssh-keygen -yf)是不可接受的解决方案。

很明显,我需要ssh-keygen使用-yf设置使用的实际算法。有谁知道我在哪里可以找到这个?还是可以以与编程语言无关的方式在此处显示它?

0 个答案:

没有答案