Este tutorial demostrará cómo instalar un SSL /TLS certificado en macOS 10.14 Mojave. Se proporcionan dos escenarios:
- Instalar un SSL /TLS certificado para uso en todo el sistema en Keychain Access
- Instalar un SSL /TLS certificado para usar con el servidor Apache incluido con macOS
Dependiendo de su situación, es posible que desee hacer una o ambas cosas; por ejemplo, si está configurando un entorno de desarrollo local y desea que el certificado esté disponible tanto para Apache como para el software cliente, como los navegadores web, haría ambas cosas. En ambos casos, comenzaremos asumiendo que generó su solicitud de firma de certificado (CSR) en Keychain Access, como se muestra en nuestro How-To. En este caso, su clave privada ya estará instalada en Keychain Access. También asumiremos que la validación está completa y su certificado está listo para descargar. Para obtener información sobre cómo solicitar y recuperar certificados, consulte nuestro instructivo, Solicitud y recuperación de SSL /TLS Certificados.
Primeros Pasos
-
Descargue el paquete de certificados de su cuenta de usuario, utilizando el APACHE enlace de descarga.
-
Descomprime el archivo. Debe contener su certificado (el nombre del archivo se basará en el nombre común en su CSR y terminar con
.crt
) y el paquete CA (ca-bundle-client.crt
).
Instalación del certificado en el acceso de llavero
-
Abierto Llavero Access.app, situado en / Aplicaciones / Utilidades.
-
Seleccione el llavero donde está instalado su par de llaves. En este caso es el System llavero.
-
Navegar a Archivo> Importar elementos…
-
Navegue hasta su nuevo certificado, selecciónelo y haga clic en Abierto.
-
Ingrese su contraseña y haga clic Modificar llavero.
- Repita los pasos 3-5 anteriores con
ca-bundle-client.crt
para instalar la cadena de certificado intermedio. -
Puede confirmar que los certificados se han instalado seleccionando Certificados desde el menú de la barra lateral izquierda.
Instale el certificado para Apache
-
Si generó su CSR en acceso de llavero, deberá exportar su clave privada como un archivo para usar con Apache. Abierto Llavero Access.app, situado en / Aplicaciones / Utilidades. (Si tu generado el CSR con OpenSSL o con SSL.com's CSR Manager puede saltar al paso 9 a continuación).
-
Usando el menú de la barra lateral izquierda para reducir sus opciones, busque y seleccione la clave privada que desea exportar. En este caso, vamos a exportar la clave privada para
www.lunchinhouston.com
, Situado en elSystem
llavero. -
Elija Archivo> Exportar elementos… en el menú.
-
Asegúrese de que el formato de archivo seleccionado sea Intercambio de información personal (.p12) y guarde el archivo en un lugar donde pueda encontrarlo.
-
Ingrese su contraseña para desbloquear el llavero (si se le solicita), luego cree una contraseña para el archivo .p12 y haga clic en OK.
-
Abierto
Terminal.app
, Situado en el/Applications/Utilities/
carpeta y navegue a la carpeta donde almacenó el archivo .p12 del paso 5. -
Usa
openssl
para extraer la clave privada del archivo .p12. (Nota: sustituya los nombres de archivo que se muestran aquí por el nombre de su archivo .p12 y el nombre de archivo que desea usar para la clave). Primero se le pedirá que ingrese la contraseña que creó en el paso 5, luego se le pedirá que cree y verifique una contraseña para proteger la clave privada.$ openssl pkcs12 -nocerts -in Certificados.p12 -out privkey.key
-
A continuación, deberá descifrar la clave privada. Ingrese el siguiente comando, sustituyendo los nombres de los archivos de entrada y salida según lo desee (el uso del mismo nombre que se muestra a continuación sobrescribirá el archivo cifrado). Se le pedirá que ingrese la contraseña que creó en el paso 7.
$ openssl rsa -en clave.privada -fuera clave.privada
- Coloque la clave privada, el certificado y los archivos de paquete intermedio en un directorio seguro donde Apache pueda leerlos. Para esto, utilizaremos
/private/etc/apache2/
. Dependiendo de la ubicación elegida, es posible que deba usarsudo
para mover los archivos -
Abra el archivo de configuración principal de Apache,
httpd.conf
, en un editor de texto. En la instalación estándar de Apaja de Mojave, este archivo se encuentra en/private/etc/apache2/
directorio. Para abrir el archivo para editar connano
, ejecute el siguiente comando:$ sudo nano /privado/etc/apache2/httpd.conf
Nota: Porque estas usandosudo
para asumir temporalmente privilegios suficientes para editar este archivo, se le pedirá que ingrese su contraseña antes de continuar. -
Encuentra estas líneas en
httpd.conf
y descomentarlos quitando el#
carácter al comienzo de cada línea:LoadModule socache_shmcb_module libexec / apache2 / mod_socache_shmcb.so ... LoadModule ssl_module libexec / apache2 / mod_ssl.so ... Include /private/etc/apache2/extra/httpd-vhosts.conf ... Include / private / etc / apache / private / etc / apache / private / etc / extra / httpd-ssl.conf
Nota: si estás usandonano
Para editarhttpd.conf
, puede buscar cadenas de texto conCtrl-W
- Guardado
httpd.conf
y salga del editor de texto (Ctrl-O
(XNUMX %)Ctrl-X
innano
). -
A continuación, abrir
httpd-ssl.conf
para editar:$ sudo nano /privado/etc/apache2/extra/httpd-ssl.conf
-
Busque las siguientes líneas y asegúrese de que Apache esté escuchando en el puerto
443
. Si el puerto está configurado en8443
o algún otro valor, cámbielo a443
.# # Cuando también proporcionamos SSL, tenemos que escuchar el # puerto HTTP estándar (ver arriba) y el puerto HTTPS # Escuchar 443
- Busque una línea que comience con la cadena
<VirtualHost _default_:
(el número de puerto puede variar) y comentar o eliminar all líneas entre eso y</virtualhost>
. - Guardado
httpd-ssl.conf
y salga del editor de texto. -
A continuación, abrir
httpd-vhosts.conf
para editar:$ sudo nano /privado/etc/apache2/extra/httpd-vhosts.conf
-
Cree una entrada VirtualHost para el sitio que desea proteger (use los valores reales para su sitio web y servidor en lugar de los marcadores de posición que se muestran aquí), luego guarde el archivo y salga del editor de texto.
DocumentRoot "/PATH/TO/WEBSITE" Nombre del servidor NOMBRE DEL SERVIDOR SSLEngine en SSLCertificateFile "https://ee443cc2f1.rocketcdn.me/private/etc/apache8/server.crt" SSLCertificateKeyFile "https://ee2cc2f1.rocketcdn.me/private/etc /apache8/server.key" SSLCertificateChainFile "https://ee2cc2f1.rocketcdn.me/private/etc/apache8/ca-bundle-client.crt"
-
Verifique su configuración de Apache con el siguiente comando:
$ sudo apachectl prueba de configuración
-
Si todo está bien, reinicie Apache:
$ sudo apachectl reiniciar
-
Si todo salió correctamente, ¡ya está! Debería poder navegar a su sitio web HTTPS en un navegador web.