Ich verstehe das nicht wirklich:
Laut: http://www.madboa.com/geek/openssl/#key-rsa kann man einen öffentlichen Schlüssel aus einem privaten Schlüssel erzeugen.
openssl genrsa -out mykey.pem 1024
openssl rsa -in mykey.pem -pubout > mykey.pub
Mein erster Gedanke war, dass sie zusammen in einem Paar generiert werden. Enthält der private RSA-Schlüssel die Summe oder den öffentlichen Schlüssel?
openssl genrsa -out mykey.pem 1024
wird tatsächlich ein Paar aus öffentlichem und privatem Schlüssel erzeugt. Das Paar wird in der erzeugten Datei mykey.pem
gespeichert.
openssl rsa -in mykey.pem -pubout > mykey.pub
extrahiert den öffentlichen Schlüssel und druckt ihn aus. Hier ist ein Link zu einer Seite, die dies besser beschreibt.
EDIT: Sehen Sie sich den Abschnitt mit den Beispielen hier an. Um nur den öffentlichen Teil eines privaten Schlüssels auszugeben:
openssl rsa -in key.pem -pubout -out pubkey.pem
Um einen brauchbaren öffentlichen Schlüssel für SSH-Zwecke zu erhalten, verwenden Sie ssh-keygen:
ssh-keygen -y -f key.pem > key.pub
In den meisten Programmen, die private RSA-Schlüssel erzeugen, einschließlich openssl's, wird der private Schlüssel als PKCS#1 RSAPrivatekey Objekt oder eine Variante davon dargestellt:
A.1.2 RSA-Syntax für private Schlüssel
Ein privater RSA-Schlüssel sollte mit dem ASN.1-Typ dargestellt werden RSAPrivateKey:
RSAPrivateKey ::= SEQUENCE { version Version, modulus INTEGER, -- n publicExponent INTEGER, -- e privateExponent INTEGER, -- d prime1 INTEGER, -- p prime2 INTEGER, -- q exponent1 INTEGER, -- d mod (p-1) Exponent2 INTEGER, -- d mod (q-1) Koeffizient INTEGER, -- (Kehrwert von q) mod p otherPrimeInfos AnderePrimeInfos OPTIONAL }
Wie Sie sehen können, hat dieses Format eine Reihe von Feldern, einschließlich des Modulus und des öffentlichen Exponenten, und ist somit eine strenge Obermenge der Informationen in einem RSA public key.
In diesem Code erstellen wir zunächst einen RSA-Schlüssel, der privat ist, aber auch ein Paar öffentlicher Schlüssel enthält. Um den aktuellen öffentlichen Schlüssel zu erhalten, machen wir einfach Folgendes
openssl rsa -in mykey.pem -pubout > mykey.pub
Ich hoffe, Sie verstehen es für weitere Informationen siehe hier