C# 将ssh密钥转换为c格式,以便在Windows(c)中加密,在Linux(python/shell)中解密

C# 将ssh密钥转换为c格式,以便在Windows(c)中加密,在Linux(python/shell)中解密,c#,python,encryption,rsacryptoserviceprovider,ssh-keygen,C#,Python,Encryption,Rsacryptoserviceprovider,Ssh Keygen,我在Centos机器上使用ssh keygen生成了公钥和私钥对。 我需要将公钥转换成某种c可以理解XML的格式?因此,c中的windows应用程序可以加密消息,而Centos应用程序python/shell可以使用相应的私钥解密消息。如何进行这种转换 我拥有的示例密钥是: 公钥: ssh-rsa2.一个2岁的学生在一个2岁的学生在一个2岁的一个2岁的学生在一个2岁的2岁的一个2岁的学生在一个2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2

我在Centos机器上使用ssh keygen生成了公钥和私钥对。 我需要将公钥转换成某种c可以理解XML的格式?因此,c中的windows应用程序可以加密消息,而Centos应用程序python/shell可以使用相应的私钥解密消息。如何进行这种转换

我拥有的示例密钥是:

公钥:

ssh-rsa2.一个2岁的学生在一个2岁的学生在一个2岁的一个2岁的学生在一个2岁的2岁的一个2岁的学生在一个2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁以上的2岁的2岁的2岁的2岁的2岁以上的2岁的2岁的2岁的2岁以上的2岁以上的2岁的2岁的2岁以上的2岁的2岁的2岁以上的2岁的2岁以上的2岁的2岁以上的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的2岁的5 5 qxplxh8txoku+GI9QQ5FL2LHRW82RJMCSV88WCW==test@local

私钥:

我能够使用以下方法从私钥中提取PEM格式的公钥:

openssl rsa -in myPrivateKey -pubout > PublicKey.x509


-----BEGIN PUBLIC KEY-----
MIIBIDANBgkqhkiG9w0BAQEFAAOCAQ0AMIIBCAKCAQEAnq2b0d3fbUMTN85q0xhH
H2grdwwmg/8+1Efu2rKLAN1RiqHnov9wgRpL+l0cK5xpS7Z03+Up81HTJWxfH39W
W18K+u3I6gyMBcrLaCdB/mWdJ1ayo0gdUiSz7TNDC1AR1S0BORET0oawF0BrhcYa
bzegQ1cpiQ4dfiQT9s3fupvQF/ZM5fSLFMK3w8wHxvtZoGGJR3K6aawIdWvz/kP0
Tz9XXzr3WSrj6OApiACB/X2AvO0bIXvbVrIOsE74kseVBx2jsdVQeJuwN9EPbj4B
6EyPaCNeok3Ua/vBNnxGFYIgS4QXPLXh8TXOKu+GI9QQ5Fl2lHRWh82rjMCsv88W
cwIBIw==
-----END PUBLIC KEY-----
我在windows机器中所能拥有的只是我的公钥,所以要用C加密消息,我应该拥有XML格式的公钥,以便使用RSACryptServiceProvider类加载它。使用X509Certificate2等其他方法将需要证书形式的公钥和私钥。鉴于我只有ssh格式的公钥,如何在C中进行加密?同样的字符串需要在Linux端使用相应的私钥进行解密


谢谢

我找到了显示如何读取PEM公钥的方法,即从BEGIN public key,并从中构建RSACryptServiceProvider查找方法DECOX509PUBLICKEY。我自己还没有尝试过这段代码,但这是一个很好的开始。

我找到了显示如何读取PEM公钥的代码,即从BEGIN public key开始,并从中构建RSACryptServiceProvider查找方法DECOX509PUBLICKEY。我自己还没有尝试过这段代码,但这是一个开始。

这里有几个答案可以指出并有助于处理这些片段。这里有几个答案可以指出并有助于处理这些片段。请提供一个示例,而不是链接到某个地方,因为链接可能会消失是的,对不起。当我有时间的时候,我会过来看看我是否能用示例代码找到我的另一个答案-我肯定这附近有一个。请提供一个示例,而不是链接到某个地方,因为链接可能会死是的,对不起。当我有时间的时候,我会过来看看是否能用示例代码找到我的另一个答案——我肯定这附近有一个答案。
openssl rsa -in myPrivateKey -pubout > PublicKey.x509


-----BEGIN PUBLIC KEY-----
MIIBIDANBgkqhkiG9w0BAQEFAAOCAQ0AMIIBCAKCAQEAnq2b0d3fbUMTN85q0xhH
H2grdwwmg/8+1Efu2rKLAN1RiqHnov9wgRpL+l0cK5xpS7Z03+Up81HTJWxfH39W
W18K+u3I6gyMBcrLaCdB/mWdJ1ayo0gdUiSz7TNDC1AR1S0BORET0oawF0BrhcYa
bzegQ1cpiQ4dfiQT9s3fupvQF/ZM5fSLFMK3w8wHxvtZoGGJR3K6aawIdWvz/kP0
Tz9XXzr3WSrj6OApiACB/X2AvO0bIXvbVrIOsE74kseVBx2jsdVQeJuwN9EPbj4B
6EyPaCNeok3Ua/vBNnxGFYIgS4QXPLXh8TXOKu+GI9QQ5Fl2lHRWh82rjMCsv88W
cwIBIw==
-----END PUBLIC KEY-----