¿En qué parte de la CSR está la clave pública?

2

estoy leyendo enlace

En el paso 2

openssl req -new -key server.key -out server.csr

server.key se genera anteriormente usando

openssl genrsa -des3 -out server.key 1024 

que es la clave privada.

No veo ninguna clave pública "adjunta" en la CSR.

¿Me estoy perdiendo algo?

=================

(recién agregado)

He abierto el csr usando vi y también openssl reg y esto es lo que vi

bash-3.2# openssl req -in server.csr
-----BEGIN CERTIFICATE REQUEST-----
MIIC7DCCAdQCAQAwgaYxCzAJBgNVBAYTAlNHMRIwEAYDVQQIDAlTaW5nYXBvcmUx
ETAPBgNVBAcMCENsZW1lbnRpMR0wGwYDVQQKDBRPcmFjbGVTemVqaWUgUHRlIEx0
ZDELMAkGA1UECwwCSVQxHTAbBgNVBAMMFHd3dy5vcmFjbGVzemVqaWUuY29tMSUw
IwYJKoZIhvcNAQkBFhZhZG1pbkBvcmFjbGVzemVqaWUuY29tMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3B0IpI7mO1ZNn19V8R0voG3pQuuenzPvomfl
ipjidlvA4oF2486n0Apf8eLudtEBin70CVQ6xx/BYISv/SQqklIrRnhNnTyWsuxy
ofJRyrZyuWVyHo9LX9ARvUuBDXHLNHTepKX3ntsg/4H1o+wl0ZV3/ixj43wj7oNe
bxPEGHldmeaFwRonWXCTp9tXoZOa6agKY8ItSAWytYu2FBY33CXaTNSI2J/bLIVT
sJqJoL1nra35xq9fzyrclcDXVF3gqmOv2zRAUShxp+wtjGmA6e6iA3uM6NxHNrDN
0v3sDEpoDlkeMmTTxY/51QHfmy4HR3oRfdR6ERyx9pYdapPUiQIDAQABoAAwDQYJ
KoZIhvcNAQEFBQADggEBADyDRmogcQsYp6D4I3Mecicw16Miula4b4HfALaF6hwc
Ml9wUCRSBkjrgHIqva7RTx6LLNwcpDBA0V3S6o0HfN4uS8z+IKQ6VMVyk7pVcKcv
PFrZM1oW3oRd/eTU1B7+c98fQMazFfitT5fnTD5Zt+laL+9qutQtVRT/tnKrEX2p
irgBnZuXuOszzcmkI2XPh/eCudGC2es13pcdyHII+6Q5PzwM58ssNziDiLXZU7pD
0mDdIWmF1RBed7GCK9gYvYmnw+20VzRHvWpVEe2sdBlgAQH34xxWX2130vzk6crJ
6K0cP8kc8S2H8iOZ4hQWewrCebntZQNO9ythvOuik4c=
-----END CERTIFICATE REQUEST-----

Parece que la CSR está codificada con algún formato o es un hash, si es así, ¿cómo verifica la CA lo que hay dentro?

Espero estar seguro de que no esté cifrado con ninguna clave porque al eliminar "server.key", todavía veo el CSR en la salida de texto con

bash-3.2# openssl req -in server.csr -text

Por favor, ilumíname.

    
pregunta Noob 19.01.2016 - 17:12
fuente

1 respuesta

7
  

No veo ninguna clave pública "adjunta" en la CSR.

Está ahí. Aquí es donde:

Cuando generas tu clave como tal:

$ openssl genrsa -out server.key 1024
Generating RSA private key, 1024 bit long modulus
....................................++++++
......++++++
e is 65537 (0x10001)

Y generas tu CSR así:

$ openssl req -new -key server.key -out server.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:dummy.example.com
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Luego, la clave pública estará dentro de ambos:

  1. Archivo de clave privada:

    $ openssl rsa -in server.key -pubout
    writing RSA key
    -----BEGIN PUBLIC KEY-----
    MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4IPFCBOLLyJWtx37bibBKhKvE
    9MbfD0MV8bXU544dVXvWZwLQwluyrsYebpl+4K1aLNmh01qUwBsm4GxESZo4mF3L
    13Yki7Xlw95KJVgDBN0i1j96LgaxV/4K8z4RQ1MryGw+EHYFK/5pwtLxGN7Rn7kB
    L9HOPEkwfwWbenUikQIDAQAB
    -----END PUBLIC KEY-----
    
  2. archivo CSR:

    $ openssl req -in server.csr -noout -pubkey
    -----BEGIN PUBLIC KEY-----
    MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4IPFCBOLLyJWtx37bibBKhKvE
    9MbfD0MV8bXU544dVXvWZwLQwluyrsYebpl+4K1aLNmh01qUwBsm4GxESZo4mF3L
    13Yki7Xlw95KJVgDBN0i1j96LgaxV/4K8z4RQ1MryGw+EHYFK/5pwtLxGN7Rn7kB
    L9HOPEkwfwWbenUikQIDAQAB
    -----END PUBLIC KEY-----
    
respondido por el StackzOfZtuff 20.01.2016 - 08:46
fuente

Lea otras preguntas en las etiquetas