Δεν το καταλαβαίνω αυτό:
σύμφωνα με: http://www.madboa.com/geek/openssl/#key-rsa , Μπορείτε να δημιουργήσετε ένα δημόσιο κλειδί από ένα ιδιωτικό κλειδί.
openssl genrsa -out mykey.pem 1024
openssl rsa -in mykey.pem -pubout > mykey.pub
Η αρχική μου σκέψη ήταν ότι δημιουργούνται σε ένα ζεύγος μαζί. Το ιδιωτικό κλειδί RSA περιέχει το άθροισμα ή το δημόσιο κλειδί;
openssl genrsa -out mykey.pem 1024
θα παράγει στην πραγματικότητα ένα ζεύγος δημόσιου - ιδιωτικού κλειδιού. Το ζεύγος αποθηκεύεται στο παραγόμενο αρχείο mykey.pem
.
openssl rsa -in mykey.pem -pubout > mykey.pub
θα εξάγει το δημόσιο κλειδί και θα το εκτυπώσει. Εδώ είναι ένας σύνδεσμος σε μια σελίδα που το περιγράφει καλύτερα.
EDIT: Ελέγξτε την ενότητα των παραδειγμάτων εδώ. Για να εξάγετε μόνο το δημόσιο μέρος ενός ιδιωτικού κλειδιού:
openssl rsa -in key.pem -pubout -out pubkey.pem
Για να λάβετε ένα χρησιμοποιήσιμο δημόσιο κλειδί για σκοπούς SSH, χρησιμοποιήστε το ssh-keygen:
ssh-keygen -y -f key.pem > key.pub
Στα περισσότερα λογισμικά που παράγουν ιδιωτικά κλειδιά RSA, συμπεριλαμβανομένου του openssl's, το ιδιωτικό κλειδί αναπαρίσταται ως αντικείμενο PKCS#1 RSAPrivatekey ή κάποια παραλλαγή του:
A.1.2 Σύνταξη ιδιωτικού κλειδιού RSA >, Ένα ιδιωτικό κλειδί RSA πρέπει να αναπαρίσταται με τον τύπο ASN.1 RSAPrivateKey: >, RSAPrivateKey ::= SEQUENCE { 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) coefficient INTEGER, -- (αντίστροφο του q) mod p otherPrimeInfos OtherPrimeInfos OPTIONAL }
Όπως μπορείτε να δείτε, αυτή η μορφή έχει μια σειρά από πεδία, συμπεριλαμβανομένου του modulus και του δημόσιου εκθέτη και συνεπώς είναι ένα αυστηρό υπερσύνολο των πληροφοριών σε ένα RSA δημόσιο κλειδί.
εδώ σε αυτόν τον κώδικα πρώτα δημιουργούμε το κλειδί RSA το οποίο είναι ιδιωτικό αλλά έχει και ένα ζεύγος από το δημόσιο κλειδί του, οπότε για να πάρουμε το πραγματικό δημόσιο κλειδί μας απλά κάνουμε το εξής
openssl rsa -in mykey.pem -pubout > mykey.pub
ελπίζω να το καταλάβετε για περισσότερες πληροφορίες δείτε αυτό