Un CSR contiene información cifrada a partir de la cual se genera un certificado SSL. Entre esta información se encuentran datos como el common name del certificado (dominio), el nombre de la empresa que lo va a adquirir, su localización, dirección de correo electrónico, etc. Hay diversas formas de generarlo, por ejemplo como vimos en su día con OpenSSL o keytool.
Existen sitios web que permiten realizar la verificación de los datos del certificado online, básicamente para confirmar que los datos introducidos son los correctos y que el CSR está listo para enviar a la entidad certificadora. Evidentemente, cuanta menos información se manipule a través de Internet, y más de este tipo, mucho mejor. Para ello, lo lógico es no recurrir a estos sitios web y hacer la comprobación directamente en local con OpenSSL.
La sintaxis es sencilla:
$ openssl req -text -noout -verify -in server.csr
server.csr
hace referencia al CSR a verificar. La salida del comando es similar a lo que veis a continuación:
$ openssl req -text -noout -verify -in server.csr Certificate Request: Data: Version: 0 (0x0) Subject: C=ES, ST=Madrid, L=Madrid, O=Foo organization, OU=IT Department, CN=foo.bar.com Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:ec:e4:e7:2a:c5:ce:0b:1f:6c:e3:cd:5d:7f:0c: [...] dd:49:18:43:27:ae:2f:ab:70:68:eb:34:2d:3a:cf: e4:97:21:ac:d0:77:53:82:bd:22:60:7c:56:7e:00: fc:4b Exponent: 65537 (0x10001) Attributes: Requested Extensions: X509v3 Subject Key Identifier: 63:9F:D3:B6:81:65:EC:95:01:DE:E6:1B:78:DC:7F:02:CB:49:F7:F5 Signature Algorithm: sha256WithRSAEncryption e6:b1:bd:4d:62:06:af:90:88:ec:99:37:ed:a8:b2:e9:9a:6d: [...]