ПРЕДУПРЕЖДЕНИЕ: первоначальный вопрос касался ключей, закодированных в PKCS # 1, в то время как фактический пример в вопросе требует ключей в кодировке SubjectPublicKeyInfo (X.509).
В настоящее время я работаю над реализацией алгоритма RSA с нуля в java, особенно над генерацией ключей. Прямо сейчас у меня есть рабочий код, который даст мне три BigInteger n, e и d.
Из того, что я вижу в Интернете, ключ RSA (очень похожий на подпись PGP) обычно представляет собой смесь символов, а не просто очень длинные числа; очевидно, это связано с тем, что ключи зашифрованы / переведены (я не совсем уверен) в PKCS # 1.
Как бы мне самому это сделать? Кроме того, это PKCS # 1 SubjectPublicKeyInfo, в котором я хочу отображать ключи, или есть более обновленный формат?
РЕДАКТИРОВАТЬ: Для ясности вот пример того, что я ищу:
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe4eCZ0
FPqri0cb2JZfXJ/DgYSF6vUpwmJG8wVQZKjeGcjDOL5UlsuusFncCzWBQ7RKNUSesmQRMSGkVb1/
3j+skZ6UtW+5u09lHNsj6tQ51s1SPrCBkedbNf0Tp0GbMJDyR4e9T04ZZwIDAQAB
-----END PUBLIC KEY-----
И на данный момент у меня есть:
Public Key (n,e): (25130290470670502980544427869200613840944965290040433220698179071215137002904823499373962164071905921326803837460733139500455896910114421141830335882737678919237073090149470600927019562678483947908156329730770276498955439764614844798829603416304775442087438623389826719642285111749464396302305124179886483673046650125158307930593778247437940929550491287419436361905923356252487704851166279431792122641372330876814779543893241235355988829436458897455503500810769146739895787437926366072829812130032509796362669335922016603663923790043992999351304972183762844549989472560311169566110061553119311399708581940621713200371,65537)
Я не знаю, как мне превратить это огромное число в ключ стандартной формы.