Generar solicitud en Apache con OpenSSLAsegúrese de que el OpenSSL está instalado y en el "PATH" ya que algunos comandos funcionan de todos modos desde el directorio de instalación del OpenSSL "./apps/openssl".
Para crear un par de claves RSA (con encripción Triple-DES en formato PEM) ejecute el comando:
$ openssl genrsa -des3 -out server.key 2048
OpenSSL |
Programa usado para generar las claves. |
genrsa |
Parámetro que especifica que el tipo de clave será RSA. |
-des3 (Opcional) |
Esta opción pedirá una contraseña que encriptará la clave. Debe tomarse en cuenta que si se utiliza, una persona deberá digitar la clave cada vez que el servidor Apache inicia, para que no pida esta contraseña simplemente se omite este parámentro. |
-out |
Para especificar un archivo de salida. |
server.key |
Nombre del archivo de salida que contendrá la clave. |
2048 |
Parámetro que especifica el largo de la clave. |
Se debe generar posteriormente un "request" asociado a dicha clave. Para ello se digita el siguiente comando:
$ openssl req -new -key server.key -out server.req
OpenSSL |
Programa usado para generar las claves. |
req |
Parámetro que especifica que se desea generar un "request". |
-new |
Parámentro para espefificar que será un nuevo "request". |
-key |
Parámetrro que especifica que clave se usará. |
server.key |
Nombre del archivo de clave a utilizar. Debe ser el mismo generado en el comando anterior. |
-out |
Para especificar un archivo de salida. |
server.req |
Nombre del archivo de salida que contendrá el request. |
-config |
Utilizado para especificar la ruta al archivo de configuración openssl.cnf |
-reqexts |
Utilizado para definir la extensión dentro del .cnf donde se definen los SAN |
Este comando le pedirá varios datos que posteriormente figurarán en el certificado. Asegúrese de que la información sea correcta ya que posteriormente no podrá ser modificada.
Al momento de ingresar el "CommonName" asegúrese de ingresar la URL que desea certificar sin el "http:\\" por ejemplo: www.correo.com.uy
El archivo server.req generado debe ser enviado a la autoridad de certificación para que con él se genere el certificado correspondiente.
OpenSSL for Windows
Si usted está generando desde OpenSSL for Windows debe agregar el parámetro "config" apuntando al archivo de configuración al comando de generación del "request".
$ openssl req -new -key server.key -out server.req -config "c:\ruta\openssl.cnf"
Utilizando nombres alternativos (SAN)
Si usted desea agregar Nombres Alternativos (SAN) deberá agregar el parámetro "config" apuntando al archivo de configuración y también el parámetro "reqexts" al comando de generación del "request".
$ openssl req -new -key server.key -out server.req -reqexts server_ext -config openssl.cnf
Debe modificar el archivo openssl.cnf de la siguiente forma: [server_ext]
subjectAltName = @server_subject
[server_subject]
DNS.1 = *.correo.com.uy
DNS.2 = correo.com.uy
DNS.3 = www.sellos.correo.com.uy
DNS.4 = sellos.com.uy
Instalar certifcado en Apache con OpenSSLUna vez recibido el archivo certificado (server.crt por ejemplo) se debe modificar el archivo de configuración del Apache (httpd.conf) de la siguiente forma:
SSLCertificateChainFile |
/path/to/CorreoUruguayoCA.crt |
SSLCertificateFile |
/path/to/server.crt |
SSLCertificateKeyFile |
/path/to/server.key |
SSLCertificateChainFile |
Debe especificarse el camino y el nombre de archivo donde se encuentre el certificado emisor de la CA. Puede descargarlo aquí |
SSLCertificateFile |
Debe especificarse el camino y el nombre de archivo recibido por la autoridad de certificación. |
SSLCertificateKeyFile |
Debe especificarse el camino y el nombre de archivo con la clave generado con el primer comando. |
El archivo server.req no se utilizará más y puede ser borrado.
|