Este tutorial explica como instalar um certificado SSL no macOS. Ele aborda a importação do seu certificado e do pacote CA com o Keychain Access, o fluxo de trabalho mais antigo do macOS Server (Server.app) que muitas configurações existentes ainda utilizam, e o caminho realista para as versões atuais do macOS onde o Server.app já não existe.
Importante: A Apple descontinuou o produto macOS Server (Server.app). Os serviços de web, e-mail e a maioria dos serviços de hospedagem foram removidos em 2018, e a aplicação em si foi retirada em abril de 2022. A última versão, 5.12.2, funciona apenas até ao macOS Monterey. Os passos abaixo abrangem tanto o método antigo do Server.app como a abordagem atual.
Gerar um código CSR
Para ativar o seu certificado SSL, deve enviar detalhes sobre o seu domínio e organização à Autoridade Certificadora (CA). Este passo padrão chama-se Certificate Signing Request, ou CSR. Tem duas opções:
- Use o nosso Gerador de CSR para criar o CSR automaticamente.
- Siga o nosso tutorial passo a passo sobre como gerar um CSR no macOS.
Envie o CSR durante o seu pedido. A CA irá validar o seu pedido e, uma vez aprovado, assinar e emitir o certificado. Receberá os ficheiros do certificado por e-mail. Depois disso, continue com a instalação abaixo.
Instalar um certificado SSL no macOS
Os passos abaixo seguem o fluxo de trabalho original do macOS Server (Server.app): importar o pacote CA e o certificado com o Keychain Access, depois atribuir o certificado aos serviços na aplicação Server. Se o seu Mac já não tiver a aplicação Server, avance para macOS atual: sem Server.app após o Passo 2, uma vez que a importação no Keychain continua a aplicar-se.
Passo 1: Prepare os ficheiros do seu certificado
Descarregue o arquivo ZIP que a CA lhe enviou e extraia-o. Deverá ter um ficheiro com a extensão .crt (o seu certificado principal) e um ficheiro com a extensão .ca-bundle (os certificados raiz e intermediários, também chamados de pacote CA). Também precisará da chave privada que criou com o CSR.
Passo 2: Adicione o ficheiro .ca-bundle ao Keychain Access
Comece pelo pacote CA. Este contém os certificados raiz e intermediários que os navegadores e clientes utilizam para construir uma cadeia de confiança até uma raiz fidedigna. Sem eles, os visitantes podem ver um aviso de “não seguro” ou de certificado não fidedigno.
- Localize o ficheiro com a extensão .ca-bundle.
- Abra o Keychain Access (procure-o com o Spotlight, ou encontre-o em Applications > Utilities).
- Arraste e solte o ficheiro .ca-bundle na janela do Keychain Access. Adicione-o ao keychain System para que se aplique a todos os utilizadores e serviços.
- Para confirmar a importação, digite o nome da sua CA na barra de pesquisa. Deverá ver listados os certificados intermediários e o certificado raiz.
Pode fazer o mesmo através do Terminal, o que é útil num servidor sem interface gráfica ou remoto. Isto importa o pacote para o keychain do sistema:
sudo security import yourdomain.ca-bundle -k /Library/Keychains/System.keychain
Passo 3: Adicione o seu certificado principal (Server.app legado)
Este passo utiliza a aplicação descontinuada Server.app. Se o seu Mac já não a tiver, consulte a próxima secção em vez disso.
- Abra a aplicação Server e vá a Server > Certificates.
- Na página principal, clique duas vezes no certificado pendente (o que foi criado quando gerou o CSR).
- Na janela que se abre, arraste e solte o seu ficheiro .crt, depois clique em OK.
- Um certificado válido agora mostra o nome do emissor e a data de expiração.
Passo 4: Atribua o certificado aos seus serviços (Server.app legado)
Na aplicação Server, encontre a definição Secure services using. Use o menu suspenso para selecionar o seu certificado SSL. Para atribuí-lo a serviços específicos, como partilha de ficheiros ou e-mail, clique em Custom e escolha os serviços que pretende proteger. Quando terminar, clique em OK.
O seu certificado SSL está agora instalado. Para confirmar o resultado e verificar problemas comuns, use o nosso SSL Checker.
macOS atual: sem Server.app (use o Keychain com Apache ou nginx)
Uma vez que a Apple retirou o Server.app, as versões atuais do macOS não têm o ecrã Server > Certificates nem a atribuição de certificados por serviço. A importação do certificado para o Keychain Access (Passo 2) continua a aplicar-se para a confiança do sistema, mas para servir HTTPS deve configurar um servidor web diretamente. O macOS vem com o Apache (httpd) incluído, e o nginx está disponível através do Homebrew. Coloque o seu certificado e chave onde o servidor os possa ler, por exemplo em /etc/ssl/, e mantenha a chave privada legível apenas pelo root.
Opção A: Apache incluído (httpd)
Edite /etc/apache2/httpd.conf e remova o # inicial destas linhas para que os módulos SSL e a configuração SSL sejam carregados:
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
Primeiro, crie um ficheiro de cadeia completa (o seu certificado seguido do pacote CA), que o SSLCertificateFile espera no Apache 2.4.8 e versões mais recentes:
cat yourdomain.crt yourdomain.ca-bundle > yourdomain_fullchain.crt
Depois edite /etc/apache2/extra/httpd-ssl.conf e certifique-se de que escuta na porta 443. Este ficheiro já vem com um bloco padrão <VirtualHost _default_:443> com um certificado autoassinado, portanto edite esse bloco ou adicione o virtual host abaixo e comente o padrão, para evitar dois hosts na porta 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>
Os caminhos acima assumem que a chave privada está em /etc/ssl/private/, que pode não existir no macOS por predefinição. Crie-o primeiro e mantenha a chave legível apenas pelo root:
sudo mkdir -p /etc/ssl/private
sudo chmod 600 /etc/ssl/private/yourdomain.key
Teste a configuração antes de reiniciar, depois reinicie o Apache:
sudo apachectl configtest
sudo apachectl restart
Deverá ver Syntax OK no teste. Se receber um erro, corrija-o antes de reiniciar para que o servidor não falhe ao iniciar.
Opção B: nginx
Se utilizar o nginx, faça referência ao ficheiro de cadeia completa e à chave no seu bloco de servidor, depois recarregue:
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 a gestão de configuração em várias Macs (a função que o antigo Profile Manager desempenhava), use uma solução MDM atual em vez disso. Para verificar o certificado instalado a partir de qualquer máquina, use o nosso SSL Checker.
Perguntas frequentes
Não. A Apple removeu a maioria dos serviços de hospedagem do macOS Server em 2018 e descontinuou a própria aplicação em abril de 2022. A versão final, 5.12.2, funciona apenas até ao macOS Monterey e não é suportada em versões mais recentes do macOS. No macOS atual, os certificados são importados para o Keychain Access e o Apache ou nginx são configurados diretamente, em vez de usar a aplicação Server.
Importe o pacote CA e o seu certificado para o Keychain Access para que o sistema confie na cadeia, depois aponte o seu servidor web para o certificado e a chave privada. O macOS inclui o Apache (configurado em /etc/apache2/), e pode instalar o nginx através do Homebrew. Defina SSLCertificateFile e SSLCertificateKeyFile no Apache, ou ssl_certificate e ssl_certificate_key no nginx, depois teste a configuração e reinicie o servidor.
Os certificados fidedignos ficam em keychains geridos pelo Keychain Access. Os certificados de todo o sistema ficam no keychain System, armazenado em /Library/Keychains/System.keychain. Os ficheiros de certificado e de chave privada que o seu servidor web lê podem ser colocados noutro local, por exemplo em /etc/ssl/, desde que a configuração do servidor aponte para eles e a chave permaneça legível apenas pelo root.
Sim. O pacote CA contém os certificados intermediários e raiz que permitem aos navegadores e clientes construir uma cadeia de confiança completa. Se o ignorar, alguns visitantes verão um aviso de cadeia de certificados não fidedigna ou incompleta. Importe o ficheiro .ca-bundle para o Keychain Access, ou concatene-o após o seu certificado num único ficheiro de cadeia completa para o Apache ou nginx.
Abra o seu site num navegador e verifique o cadeado, ou consulte o servidor a partir do Terminal com o OpenSSL para ler o certificado que ele serve:echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates
Isto imprime o emissor e as datas de validade. Também pode executar uma verificação externa completa com o nosso SSL Checker.
Economize 10% em certificados SSL ao fazer seu pedido hoje!
Emissão rápida, criptografia forte, 99,99% de confiança no navegador, suporte dedicado e garantia de reembolso de 25 dias. Código do cupom: SAVE10


