Konvertieren von RSA-Schlüsseln in SubjectPublicKeyInfo Form von BigIntegers

WARNUNG: Die ursprüngliche Frage betraf PKCS # 1-codierte Schlüssel, während für das aktuelle Beispiel in der Frage SubjectPublicKeyInfo (X.509) -codierte Schlüssel erforderlich sind.

Ich arbeite derzeit an der Implementierung des RSA-Algorithmus von Grund auf in Java, insbesondere an der Schlüsselgenerierung. Im Moment arbeite ich mit Code, der mir drei BigIntegers n, e und d gibt.

Soweit ich online sehen kann, besteht ein RSA-Schlüssel (ähnlich wie eine PGP-Signatur) normalerweise aus einer Mischung von Zeichen und nicht nur aus sehr langen Zahlen. anscheinend liegt dies daran, dass die Schlüssel in PKCS # 1 verschlüsselt / übersetzt sind (da bin ich mir nicht ganz sicher).

Wie würde ich das selbst machen? Weiter istPKCS # 1 SubjectPublicKeyInfo, in welchem ​​Format die Schlüssel angezeigt werden sollen, oder gibt es ein aktualisiertes Format?

EDIT: Zur Verdeutlichung hier ein Beispiel für das, wonach ich suche:

-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6+H0qtjTkVxwTCpvKe4eCZ0
FPqri0cb2JZfXJ/DgYSF6vUpwmJG8wVQZKjeGcjDOL5UlsuusFncCzWBQ7RKNUSesmQRMSGkVb1/
3j+skZ6UtW+5u09lHNsj6tQ51s1SPrCBkedbNf0Tp0GbMJDyR4e9T04ZZwIDAQAB
-----END PUBLIC KEY-----

Und ich habe derzeit:

Public Key (n,e): (25130290470670502980544427869200613840944965290040433220698179071215137002904823499373962164071905921326803837460733139500455896910114421141830335882737678919237073090149470600927019562678483947908156329730770276498955439764614844798829603416304775442087438623389826719642285111749464396302305124179886483673046650125158307930593778247437940929550491287419436361905923356252487704851166279431792122641372330876814779543893241235355988829436458897455503500810769146739895787437926366072829812130032509796362669335922016603663923790043992999351304972183762844549989472560311169566110061553119311399708581940621713200371,65537)

Ich weiß nicht, wie ich diese riesige Zahl in einen Standardschlüssel verwandeln kann.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage