Eu tenho uma chave pública no formato DER. asn1parse usando openssl me dá isto:
0:d=0 h1=4 1= 265 cons: SEQUENCE
4:d=1 h1=4 1= 256 prim: INTEGER: -4B95.........831 (I removed most of it)
264:d=1 h1=2 1= 3 prim: INTEGER
Eu o converto para PEM usando o seguinte:
openssl rsa -RSAPublicKey_in -in myderkey -inform DER -outform PEM -out mypubkey
asn1parse fica assim após a conversão:
0:d=0 h1=4 1= X cons: SEQUENCE
4:d=1 h1=2 1= X cons: SEQUENCE
...
...
...
Eu converto de volta para DER usando:
openssl rsa -pubin -in mypubkey -inform PEM - outform DER -out backToDerKey
Depois de convertê-lo novamente - o asn1parse não mudou (permaneceu o mesmo quando a chave estava no formato PEM)
Existe alguma maneira de converter a chave pública PEM em DER e ter o mesmo ASN1 da chave DER original?
Tentei criar uma chave pública programaticamente e salvá-la em um arquivo, mas obtive os mesmos resultados do openssl.
Use o
-RSAPublicKey_out
argumento paraopenssl
para preservar a chave RSA do formato PKCS1 original.Você precisa fazer isso em cada estágio em que deseja que o formato PKCS1 seja emitido pelo
rsa
comando OpenSSL.Então, se você deseja esse formato para o arquivo PEM, faça assim:
Se você quiser no arquivo DER, faça assim: