我有一台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#代码中使用给定的公钥?