Eu não... não entendo bem esta:
de acordo com: http://www.madboa.com/geek/openssl/#key-rsa , Você pode gerar uma chave pública a partir de uma chave privada.
openssl genrsa -out mykey.pem 1024
openssl rsa -in mykey.pem -pubout > mykey.pub
Meu pensamento inicial era que eles são gerados em um par juntos. A chave privada da RSA contém a soma? ou a chave pública?
openssl genrsa -out mykey.pem 1024
irá realmente produzir um par de chaves públicas - privadas. O par é armazenado no arquivo gerado mykey.pem
.
openssl rsa -in mykey.pem -pubout > mykey.pub
vai extrair a chave pública e imprimir isso. Aqui é um link para uma página que descreve melhor isto.
EDITAR: Verifique a seção de exemplos aqui. Para apenas emitir a parte pública de uma chave privada:
openssl rsa -in key.pem -pubout -out pubkey.pem
Para obter uma chave pública utilizável para fins SSH, use ssh-keygen:
ssh-keygen -y -f key.pem > key.pub
Na maioria dos softwares que geram chaves privadas RSA, incluindo openssl's, a chave privada é representada como um objeto PKCS#1 RSAPrivatekey ou alguma variante do mesmo:
A.1.2 Sintaxe de chave privada da RSA
Uma chave privada RSA deve ser representada com o tipo ASN.1 RSAPrivateKey:
RSAPrivateKey ::= SEQUÊNCIA { versão versão, módulo INTEGER, -- n publicExponent INTEGER, -- e privateExponent INTEGER, -- d prime1 INTEGER, -- p prime2 INTEGER, -- q expoente1 INTEGER, -- d mod (p-1) expoente2 INTEGER, -- d mod (q-1) coeficiente INTEGER, -- (inverso de q) mod p outrosPrimeInfos OutrosPrimeInfos OPCIONAIS }
Como você pode ver, este formato tem uma série de campos incluindo o módulo e expoente público e, portanto, é um rigoroso superconjunto da informação em uma chave pública RSA.
aqui neste código primeiro estamos a criar a chave RSA que é privada mas que também tem um par da sua chave pública, por isso para obter a sua chave pública actual simplesmente fazemos isto
openssl rsa -in mykey.pem -pubout > mykey.pub
espero que o obtenha para mais informações veja isto