1-은 사용은 사용자의 키> = 2048 비트는 2025 ~ 때까지 보호 할하시기 바랍니다.
위는 2012 년부터이지만, 퍼티/리눅스 서버 연결을위한 ssh-rsa 키를 만들려고 시도하면서 나왔습니다.
퍼티 진 (PermtyGen)과 일치시키기 위해 공개 ssh-rsa 키를 적절한 형식으로 작성하는 것과 비슷한 문제를 해결했습니다. 마이크로 소프트 .NET RSACryptoServiceProvider를 들어
는 당신은 내가 테스트 & 퍼티 세대 소스 코드 링크에 사용되는 내 개인 키를 볼 수있는이
RSACryptoServiceProvider RSA = new RSACryptoServiceProvider(3072);
byte[] sshrsa_bytes = Encoding.Default.GetBytes("ssh-rsa");
byte[] n = RSA.ExportParameters(false).Modulus;
byte[] e = RSA.ExportParameters(false).Exponent;
string buffer64;
using (MemoryStream ms = new MemoryStream())
{
ms.Write(ToBytes(sshrsa_bytes.Length), 0, 4);
ms.Write(sshrsa_bytes, 0, sshrsa_bytes.Length);
ms.Write(ToBytes(e.Length), 0, 4);
ms.Write(e, 0, e.Length);
ms.Write(ToBytes(n.Length+1), 0, 4); //Remove the +1 if not Emulating Putty Gen
ms.Write(new byte[] { 0 }, 0, 1); //Add a 0 to Emulate PuttyGen (remove it not emulating)
ms.Write(n, 0, n.Length);
ms.Flush();
buffer64 = Convert.ToBase64String(ms.ToArray());
}
string pubssh = string.Format("ssh-rsa {0} generated-key", buffer64);
과 같을 것이다 나는 마이크로 소프트에서 일 https://www.cameronmoten.com/2017/12/21/rsacryptoserviceprovider-create-a-ssh-rsa-public-key/
하지만, 이것은 Microsoft가 아닌 개인적인 대답입니다.
BouncyCastle (Link) 당신은 당신이 문제에 관련이 없기 때문에 일하는 곳 말할 필요가 없습니다
에 대한 원래의 게시물. 다른 답변이없는 한 모든 대답은 여기에 개인적으로 표시됩니다. – Hexfire