Este tutorial explica cómo instalar un certificado SSL en macOS. Cubre la importación de su certificado y el paquete de CA con Keychain Access, el flujo de trabajo más antiguo de macOS Server (Server.app) que muchas configuraciones existentes todavía usan, y la vía realista para las versiones actuales de macOS donde Server.app ya no existe.
Importante: Apple descontinuó el producto macOS Server (Server.app). Los servicios web, de correo y la mayoría de los servicios de alojamiento se eliminaron en 2018, y la propia aplicación se retiró en abril de 2022. La última versión, 5.12.2, solo funciona hasta macOS Monterey. Los pasos a continuación cubren tanto el método heredado de Server.app como el enfoque actual.
Generar un código CSR
Para activar su certificado SSL, usted envía detalles sobre su dominio y organización a la Autoridad de Certificación (CA). Este paso estándar se llama Solicitud de Firma de Certificado, o CSR. Tiene dos opciones:
- Use nuestro Generador de CSR para crear el CSR automáticamente.
- Siga nuestro tutorial paso a paso sobre cómo generar un CSR en macOS.
Envíe el CSR durante su pedido. La CA validará su solicitud y, una vez aprobada, firmará y emitirá el certificado. Recibirá los archivos del certificado por correo electrónico. Después de eso, continúe con la instalación a continuación.
Instalar un certificado SSL en macOS
Los pasos a continuación siguen el flujo de trabajo original de macOS Server (Server.app): importar el paquete de CA y el certificado con Keychain Access, y luego asignar el certificado a los servicios en la aplicación Server. Si su Mac ya no tiene la aplicación Server, salte a macOS actual: sin Server.app después del Paso 2, ya que la importación de Keychain sigue aplicándose.
Paso 1: Prepare sus archivos de certificado
Descargue el archivo ZIP que le envió la CA y extráigalo. Debería tener un archivo con extensión .crt (su certificado principal) y un archivo con extensión .ca-bundle (los certificados raíz e intermedio, también llamados el paquete de CA). También necesitará la clave privada que creó junto con el CSR.
Paso 2: Añada el archivo .ca-bundle a Keychain Access
Comience con el paquete de CA. Contiene los certificados raíz e intermedio que los navegadores y clientes usan para construir una cadena de confianza hasta una raíz confiable. Sin ellos, los visitantes pueden ver una advertencia de «no seguro» o de certificado no confiable.
- Localice el archivo con la extensión .ca-bundle.
- Abra Keychain Access (búsquelo con Spotlight, o encuéntrelo en Applications > Utilities).
- Arrastre y suelte el archivo .ca-bundle en la ventana de Keychain Access. Añádalo al llavero System para que se aplique a todos los usuarios y servicios.
- Para confirmar la importación, escriba el nombre de su CA en la barra de búsqueda. Debería ver los certificados intermedios y el certificado raíz listados.
Puede hacer lo mismo desde Terminal, lo cual es útil en un servidor remoto o sin interfaz gráfica. Esto importa el paquete al llavero del sistema:
sudo security import yourdomain.ca-bundle -k /Library/Keychains/System.keychain
Paso 3: Añada su certificado principal (Server.app heredado)
Este paso usa la aplicación descontinuada Server.app. Si su Mac ya no la tiene, consulte la siguiente sección en su lugar.
- Abra la aplicación Server y vaya a Server > Certificates.
- En la página principal, haga doble clic en el certificado pendiente (el que se creó cuando generó el CSR).
- En la ventana que se abre, arrastre y suelte su archivo .crt, luego haga clic en OK.
- Un certificado válido ahora muestra el nombre del emisor y la fecha de vencimiento.
Paso 4: Asigne el certificado a sus servicios (Server.app heredado)
En la aplicación Server, busque la configuración Secure services using. Use el menú desplegable para seleccionar su certificado SSL. Para asignarlo a servicios específicos como el uso compartido de archivos o el correo, haga clic en Custom y elija los servicios que desea proteger. Cuando termine, haga clic en OK.
Su certificado SSL ya está instalado. Para confirmar el resultado y comprobar si hay problemas comunes, use nuestro SSL Checker.
macOS actual: sin Server.app (use Keychain junto con Apache o nginx)
Debido a que Apple retiró Server.app, las versiones actuales de macOS no tienen la pantalla Server > Certificates ni la asignación de certificados por servicio. La importación del certificado a Keychain Access (Paso 2) sigue aplicándose para la confianza del sistema, pero usted sirve HTTPS configurando directamente un servidor web. macOS viene con Apache (httpd) integrado, y nginx está disponible a través de Homebrew. Coloque su certificado y su clave donde el servidor pueda leerlos, por ejemplo bajo /etc/ssl/, y mantenga la clave privada legible solo por root.
Opción A: Apache integrado (httpd)
Edite /etc/apache2/httpd.conf y elimine el # inicial de estas líneas para que los módulos SSL y la configuración SSL se carguen:
LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
LoadModule ssl_module libexec/apache2/mod_ssl.so
Include /private/etc/apache2/extra/httpd-ssl.conf
Primero, cree un archivo de cadena completa (su certificado seguido del paquete de CA), que SSLCertificateFile espera en Apache 2.4.8 y versiones posteriores:
cat yourdomain.crt yourdomain.ca-bundle > yourdomain_fullchain.crt
Luego edite /etc/apache2/extra/httpd-ssl.conf y asegúrese de que escuche en el puerto 443. Este archivo ya incluye por defecto un bloque <VirtualHost _default_:443> con un certificado autofirmado, así que edite ese bloque o añada el host virtual de abajo y comente el predeterminado, para evitar tener dos hosts en el puerto 443:
<VirtualHost *:443>
ServerName www.yourdomain.com
DocumentRoot "/Library/WebServer/Documents"
SSLEngine on
SSLCertificateFile /etc/ssl/yourdomain_fullchain.crt
SSLCertificateKeyFile /etc/ssl/private/yourdomain.key
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder off
</VirtualHost>
Las rutas anteriores asumen que la clave privada está en /etc/ssl/private/, la cual puede no existir en macOS de forma predeterminada. Créela primero y mantenga la clave legible solo por root:
sudo mkdir -p /etc/ssl/private
sudo chmod 600 /etc/ssl/private/yourdomain.key
Pruebe la configuración antes de reiniciar y luego reinicie Apache:
sudo apachectl configtest
sudo apachectl restart
Debería ver Syntax OK como resultado de la prueba. Si obtiene un error, corríjalo antes de reiniciar para que el servidor no falle al iniciar.
Opción B: nginx
Si usa nginx, haga referencia al archivo de cadena completa y a la clave en su bloque de servidor, y luego recargue:
server {
listen 443 ssl;
server_name www.yourdomain.com;
ssl_certificate /etc/ssl/yourdomain_fullchain.crt;
ssl_certificate_key /etc/ssl/private/yourdomain.key;
ssl_protocols TLSv1.2 TLSv1.3;
}
sudo nginx -t
sudo nginx -s reload
Para la gestión de configuración a través de una flota de Macs (el rol que cumplía el antiguo Profile Manager), use en su lugar una solución MDM actual. Para verificar el certificado instalado desde cualquier máquina, use nuestro SSL Checker.
Preguntas frecuentes
No. Apple eliminó la mayoría de los servicios de alojamiento de macOS Server en 2018 y descontinuó la propia aplicación en abril de 2022. La última versión, 5.12.2, solo funciona hasta macOS Monterey y no es compatible con versiones más nuevas de macOS. En macOS actual, usted importa los certificados a Keychain Access y configura Apache o nginx directamente en lugar de usar la aplicación Server.
Importe el paquete de CA y su certificado en Keychain Access para que el sistema confíe en la cadena, y luego apunte su servidor web al certificado y a la clave privada. macOS incluye Apache (configurado en /etc/apache2/), y puede instalar nginx a través de Homebrew. Configure SSLCertificateFile y SSLCertificateKeyFile en Apache, o ssl_certificate y ssl_certificate_key en nginx, y luego pruebe la configuración y reinicie el servidor.
Los certificados de confianza residen en los llaveros gestionados por Keychain Access. Los certificados de todo el sistema van en el llavero System, almacenado en /Library/Keychains/System.keychain. Los archivos del certificado y de la clave privada que lee su servidor web pueden colocarse en otro lugar, por ejemplo bajo /etc/ssl/, siempre que la configuración del servidor apunte a ellos y la clave permanezca legible solo por root.
Sí. El paquete de CA contiene los certificados intermedio y raíz que permiten a los navegadores y clientes construir una cadena de confianza completa. Si lo omite, algunos visitantes verán una advertencia de cadena de certificados no confiable o incompleta. Importe el archivo .ca-bundle en Keychain Access, o concaténelo después de su certificado en un solo archivo de cadena completa para Apache o nginx.
Abra su sitio en un navegador y compruebe el candado, o consulte el servidor desde Terminal con OpenSSL para leer el certificado que sirve:echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates
Esto muestra el emisor y las fechas de validez. También puede ejecutar una verificación externa completa con nuestro SSL Checker.
Ahorre un 10% en certificados SSL al realizar su pedido hoy mismo.
Emisión rápida, cifrado potente, 99,99% de confianza del navegador, asistencia dedicada y garantía de devolución del dinero en 25 días. Código del cupón: SAVE10


