将SSH2公钥转换为RSACryptoServiceProvider

时间:2014-05-04 15:23:35

标签: c# openssl rsa rsacryptoserviceprovider

我有一台Windows机器需要(以编程方式)连接到Linux机器。我有一台该机器的公钥,但我似乎无法在C#中使用RSACryptoServiceProvider。我得到一个例外:

Invalid syntax on line 10.

在这一行:

rsa.FromXmlString(File.ReadAllText(PublicKeyFile));

我的公钥(我在Linux机器上使用openSSL给出并生成)看起来像这样:

---- BEGIN SSH2 PUBLIC KEY ----
Subject: server
Comment: "A public Key"
ModBitSize: 2048
AAAAB3NzaC1kc3MAAAEBAOcQut33liU3Z9Wji6gWzUwxxrMgAki4/UZDbpNLWQW2
Wov2zMkEo/oHb2eSnAbYhBSCSlrMrWzukJboww8PGoSmcQej/W75Ag8RytwDEIjv.......

我需要为C#库做什么才能使用此密钥?它是由OpenSSL生成的。我也尝试过使用puttygen的密钥,但它们不适用于Microsoft库。我不能要求他们使用我通过

生成的密钥
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.KeySize = 2048;
rsa.ToXmlString(false)

我搜索过论坛但没有找到解决方案。如何在C#代码中使用给定的公钥?

0 个答案:

没有答案