У меня есть пара открытых/закрытых ключей RSA, сгенерированных командой ssh-keygen на компьютере с Linux. На этом компьютере с Linux есть приложение Ruby, которое шифрует строку с помощью этого открытого ключа, и я хочу использовать этот закрытый ключ для расшифровки строки в приложении Windows C#/.Net. Я безуспешно взглянул на библиотеки Bouncy Castle. Любой пример или совет будут полезны. Спасибо!
Используйте уже существующие ключи RSA SSH для расшифровки текста на C#
Ответы (1)
Есть ли причина использовать ключи ssh?
Подойдет любой ключ RSA. Вам нужно извлечь ключ RSA, чтобы зашифровать что-либо. И если этот ключ не RSA, вы не сможете ничего зашифровать, так как DSA — это алгоритм только подписи. Существует RFC для открытых ключей: http://www.ietf.org/rfc/rfc4716.txt Это не совсем то, что вам нужно. Но может помочь вам понять, как извлечь каждую часть. Это должны быть только двоичные фрагменты в кодировке base64.
Вы можете попробовать источник PuTTY http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html генератор ключей может генерировать и преобразовывать эти ключи. Итак, если вы найдете место, где он извлекает ключ RSA. Затем используйте любую криптографическую библиотеку для вычисления RSA с использованием ключей и данных. С правильными ключами вы получите входные данные + дополнение. Зависит от того, открытый или закрытый ключ использовался программой ruby. Надеюсь, это поможет.