# Solicitud de firma de certificado (CSR)
Los certificados SSL/TLS definen cómo los usuarios interactúan con dispositivos y sitios web en el mundo moderno y establecen medios seguros para las comunicaciones internas. Las empresas suelen obtener estos certificados de autoridades de certificación (AC) de confianza u organizaciones autorizadas para emitir certificados digitales válidos. Sin embargo, las AC requieren información específica de la organización para emitir un certificado que refleje detalles relevantes de esta. Una solicitud de firma de certificado satisface esta necesidad.
Fecha de última actualización: 10 de mayo de 2024
## ¿Qué es una solicitud de firma de certificado?
Una solicitud de firma de certificado (comúnmente conocida como CSR) consiste en enviar datos cifrados sobre una organización que solicita un nuevo certificado SSL/TLS a una CA para obtener la emisión de un nuevo certificado. Una solicitud de firma de certificado iniciada por una organización contiene diversa información, como la clave pública del servidor y el nombre de la CA. Con esta información, la CA podrá crear y emitir un certificado válido.
## ¿Qué información contiene una solicitud de firma de certificado?
Aparte de la clave pública, una CSR típica contiene la siguiente información:
- ##### Nombre común
El *nombre común* es el nombre de dominio completo de su organización. Por ejemplo: **manageengine.com**
- ##### Nombre de la organización
El *nombre de la organización* será el nombre legal completo de su organización. Esto debe incluir los sufijos, si los hubiera. Por ejemplo: **Zoho Corporation.** El nombre de la organización no puede contener los siguientes caracteres: **< > ~ ! @ # $ % ^ * / \ ( ) ? . , &**
- ##### Localidad
El campo de *localidad* hace referencia a la localidad, ciudad o pueblo al que pertenece su organización. Por ejemplo: **Austin**
- ##### Estado
El campo de *estado* hace referencia al estado al que pertenece su organización. Por ejemplo: **Texas**
- ##### País
El campo de *país* hace referencia al código de país de dos dígitos de su organización. Por ejemplo: **Estados Unidos**
- ##### Dirección de correo
El campo de dirección de *correo electrónico* requiere la dirección de correo electrónico del administrador o del empleado que supervisará todo el proceso. Por ejemplo: **admin@zylker.com**
**Nota:** The email address field is often optional and may not be required or used by all CAs.
| Campos | Ejemplo |
|---|---|
| Nombre común | manageengine.com |
| SANs | DNS:www.manageengine.com,
DNS:manageengine.com,
DNS:blogs.manageengine.com |
| Nombre de la organización | Zoho Corporation |
| Unidad organizativa | Departamento de TI |
| Localidad | Austin |
| Estado | Texas |
| País | US |
| Dirección de correo | admin@zylker.com |
## Requisitos previos antes de crear una solicitud de firma de certificado
Antes de crear una CSR para un certificado X.509, tendrá que generar un par de claves pública-privada. La clave pública se enviará a la CA junto con la CSR, mientras que la clave privada debe mantenerse en secreto y utilizarse para firmar la información de la CSR.
## Cómo crear una solicitud de firma de certificado
Puede crear una CSR manualmente o utilizando un software de gestión del ciclo de vida de los certificados.
### Crear una solicitud de firma de certificado manualmente
Para crear una CSR manualmente, tendrá que:
#### 01. Crear un par de claves privadas de RSA
Conéctese a su servidor y cree una clave privada RSA con CSR utilizando OpenSSL o keytool.
##### openssl
```bash
openssl req -new -newkey rsa:2048 -keyout domain_name.key -out MYCSR.csr
```
| Comando | Función |
|---|---|
| openssl | Para invocar OpenSSL. |
| req | Indica la generación de una nueva CSR. |
| -new -newkey rsa:2048 | Genera una nueva clave privada RSA de 2048-bits.
**Nota:** Los pares de claves de 4096-bits son más seguros. Si desea utilizarlos en su lugar, sustituya 2048 por 4096. |
| -keyout domain_name.key | Especifica el dominio para el que va a crear una nueva clave. Sustituya domain_name por un nombre de su elección. |
| -out MYCSR.csr | Especifica el nombre del archivo de salida que almacena su CSR. Sustituya MYCSR por un nombre de su elección. |
##### keytool
```bash
keytool -genkey -alias ALIAS -keyalg ALGORITHM -validity DAYS -keystore server.keystore -storetype TYPE
```
| Comando | Función |
|---|---|
| keytool | Para invocar Keytool. |
| genkey | Genera un nuevo par de claves. |
| -alias ALIAS | El nombre utilizado para identificar el par de claves en el almacén de claves. Sustituya ALIAS por un nombre de su elección. |
| -keyalg ALGORITHM | Especifica el algoritmo (RSA, DSA, EC) que se utilizará para generar el par de claves. |
| -keystore server.keystore | Especifica el nombre del archivo keystore que almacenará el par de claves. Sustituya server.keystore por un nombre de archivo de su elección. |
| -storetype TYPE | Especifica el tipo de almacén de claves que se creará. Sustituya TYPE por el tipo de almacén de claves de su elección (JKS, PKCS12, etc.). |
**Nota:** Necesitará una cuenta de usuario con privilegios de root o las credenciales de root del servidor. El servidor también debe tener instalado OpenSSL o keytool. Si desea utilizar keytool, utilice el siguiente comando e ingrese la contraseña del almacén de claves.
#### 02. Enviar los detalles de la solicitud de firma de certificado
Poco después de ejecutar el comando, se le pedirá que ingrese los datos pertinentes de la CSR, como el nombre común, el nombre de la organización, la unidad organizativa, la localidad, el estado, el país y la dirección de correo electrónico. Al final, también puede ingresar una contraseña para su par de claves.
### Enviar los detalles de la solicitud de firma de certificado a la autoridad de certificación
Para enviar los detalles de la CSR generada a la CA:
- Acceda a la CSR recién creada. Puede encontrarla en su directorio de trabajo. Copie todo el contenido en un archivo aparte. Si su autoridad de certificación no le permite cargar un archivo, puede copiar y pegar los detalles de la CSR manualmente.
- Verifique los datos antes de enviarlos a su CA. Muchas CA también ofrecen descodificadores de CSR para solucionar los mensajes de error que aparecen durante la generación de CSR.
### Ejemplo de una CSR
Tras generar una CSR, obtendrá un resultado similar al del ejemplo que se muestra a continuación. La CA utiliza esta información para verificar la solicitud y emitir el certificado SSL/TLS correspondiente.
```text
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIE1zCCAr8CAQAwbTELMAkGA1UEBhMCSU4xEzARBgNVBAgTClRhbWlsIE5hZHUxEDAOBgNVBAcTB0NoZW5uYWkxFjAUBgNVBAsTDU1hbmFnZSBFbmdpbmUxDTALBgNVBAoTBFpvaG8xEDAOBgNVBAMTB3Rlc3RDU1IwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDgCx5kIVbqwVnBQmGIca7Ni3JzLgdnH4oVLpPXLHErtaYnXAwIY9VknLzSvxEapCmkme2ELZ8FfbTslyuCrrqLL4fnytsIX4QZDpzBPRyjyrwCNcSl5DeOYwjy3+f88BAm8lYX69hRoqr7QUulcfxSUSwZzGgN+MFQFw56+5HQ58ZP9MQn1yqBjM4ajhAJ6tGKwb3es3PA/dIGu/9Arkw7JYm0GWTv+Gwg0blH1NKrNovG4H4QeS2euCMnpmiojexWtD+3t4x9OW1lg1nvbGQGu6cKyn3h0ltIOsyete2wCLTFWwjPLnma7XoCDIzFGTdNOy5BFqq+2624GLw+8gjz8LSvIGhwfUY8+i+EWuGDb85+K4j40fvUq2krsZye9WKyUVdgEP9RjfZtvxB/1/tPiMWrbmZnY6yjdYKdG8Kxrp6N+rrNruB3iYqQKCD9XbEwAwl82I7jkyn/4a0nWJokfN7BEiR2GK1dOC3fn5r84TBm4McraaVZBPuxwpFP5YXAaJc5S4bo0JtJSWHdia65zrj3wbs9Cb8MZlki8fElwA2MumcjBt7aEipzFYkyKmYS9EF6qAnPixKE8V5U5VdNtDc22WBwwk9FsaaG4gYJi2YYcWLsOSnjw+Qhm5m54OharLnBAiKR3Ev0AQwaFgqqBIgp+rL4ynfl3LHVrOU17QIDAQABoCUwIwYJKoZIhvcNAQkOMRYwFDASBgNVHREECzAJggd0ZXN0Q1NSMA0GCSqGSIb3DQEBCwUAA4ICAQAc6TpPe1Yx05V6atsTxjgjsvXg+Bhgsqld5pgNWCCqUViAqtYA670rKO95DXP2xk3+iEKmzWCkxz9HcDY29WH48fVuxxwjh/S+tfJO9vdFu2DrG+ocUltLAPWDsRSlaxI3mUw7+78/kTSnDOFCDe/RZ7ck0C/9aT9eqLIcxM8sv/NlcVa5rnJ8J/nJ3ZEp1lBsVLuB046TFvEIx7EhLiC9/THRgpNtAXSLMimtXq1/SG+xf5BH1eSn/MpOAZ/nOvUf/qPwBhcWqbCAmQsyjPrW1jAOR11xZ6MEUn/5NIPJrW+4rHXFX/df14Ha/h06y4HzRhw6LYRxIhf7E9jBz7zkciR3VV5hl8eRglIRO47ihRJcGEJx1nXTUE4aJ3MNh0L3x9BDpRpfVpZ+6v2TPvEk/PWuHz5+J87BQaMmgc3HpwcLoUX8a8C6YANxygxjO91SMlHL/CWEXPp6DXwN9vfmOVROw5yQViHUXbMuvk6GpKOUkluDt8qrE3+6E1XzYUvfS0Tu/ahbp1Vh6ZACHxNaRKBa8RGLIMwu4z725J36WgwfBDd/pAnYtRDwMLKzBVH8DVA66NFg8dpwJYKDvATURhGYM5FSQNU4lqBOfBlsZQurpe1gumPkNwgheXAdh98GRVbDiHJwWM3vS6/vacZ2AfCPcB1wSIYzg7ePew+Kig==
-----END NEW CERTIFICATE REQUEST-----
```
**Nota:** Los caracteres codificados específicos diferirán para cada solicitud de firma de certificado única generada.
## ¿Por qué una solicitud de firma de certificado (CSR) se ve como una larga cadena de caracteres?
La CSR consta de datos codificados en Base64, que incluyen la clave pública y la información del nombre distinguido (DN) ingresada inicialmente. La clave pública constituye una parte importante de la CSR. Esta clave es un número grande y, por naturaleza, es información binaria. Además de la clave pública, los datos dentro de una CSR (Nombre Común, Organización, etc.) se organizan en una estructura de datos específica y estandarizada definida por la Notación de Sintaxis Abstracta Uno (ASN.1). Esto garantiza que cualquier Autoridad de Certificación (CA) pueda analizar la solicitud y comprenderla, independientemente del sistema que la haya generado. Por eso, la CSR aparece como una larga cadena de caracteres aleatorios.
Puede usar un decodificador de CSR para verificar la autenticidad de la información almacenada en su CSR.
## Automatice sus solicitudes de firma de certificado con Key Manager Plus.
Si bien crear manualmente una CSR puede parecer intuitivo, no es escalable cuando se administran varios dispositivos en la organización. En estos casos, puede resultar útil utilizar un software de gestión de identidades de máquina que automatice el proceso de solicitud de firma de certificados. Por ejemplo, una solución como ManageEngine Key Manager Plus ayuda a las empresas a crear nuevas solicitudes de firma de certificados, importarlas o exportarlas, configurar plantillas, solicitar nuevos certificados a las principales autoridades de certificación y mucho más.
