我想编写一个应用程序来生成 SSH 2 RSA 公钥和私钥。
我想获取 PuTTY key 生成器可以生成的格式的 key 。
在 ChilKat 的帮助下,我也可以生成公钥和私钥,但我不知道如何获得那种格式。
是否有任何示例可以获取该格式的 key ,或者我错过了什么?
非常感谢!
最佳答案
SSH key 格式相当复杂;如果您想自己实现,this , this和 this回答可能是一个好的开始。
然而,其他人实际上已经完成了这项工作并创建了一个用于生成 SSH key 的 NuGet 包:SshKeyGenerator .目前,该包同时适用于 .NET Framework 和 .NET Standard。源代码可在 GitHub 上获得.
示例代码:
static void Main(string[] args)
{
int keyBits = 2048;
string keyComment = "mykey";
var keygen = new SshKeyGenerator.SshKeyGenerator(keyBits);
Console.WriteLine(keygen.ToPrivateKey());
Console.WriteLine(keygen.ToRfcPublicKey(keyComment));
}
生成(为了便于阅读而缩短)
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA7ejxsqTKLMLht6HVC57l59mMzQNIVdeMaPzxM14VYjkyU1rg
...
L4NAI1BCgGpSC+iY3QuVwK8GVphVSzNrOQj97Uuhx0WYsEdPzJvjQw==
-----END RSA PRIVATE KEY-----
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD...nFX7Rhou4OdkDGA1 mykey
请注意,该软件包目前不支持设置私钥密码。
关于c# - 如何在 C# 应用程序中生成 SSH 2 RSA key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25020017/