bg-tutorials

Como Instalar um Certificado SSL em Servidores macOS

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:

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.

  1. Localize o ficheiro com a extensão .ca-bundle.
  2. Abra o Keychain Access (procure-o com o Spotlight, ou encontre-o em Applications > Utilities).
  3. 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.
  4. 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.

  1. Abra a aplicação Server e vá a Server > Certificates.
  2. Na página principal, clique duas vezes no certificado pendente (o que foi criado quando gerou o CSR).
  3. Na janela que se abre, arraste e solte o seu ficheiro .crt, depois clique em OK.
  4. 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

O macOS Server ainda está disponível?

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.

Como instalo um certificado SSL no macOS sem 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.

Onde é que o macOS armazena os certificados SSL?

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.

Preciso de instalar o pacote CA no macOS?

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.

Como verifico se o certificado está instalado corretamente?

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

Uma imagem detalhada de um dragão em voo
Escrito por

Redator de conteúdo experiente, especializado em certificados SSL. Transformação de tópicos complexos de segurança cibernética em conteúdo claro e envolvente. Contribua para melhorar a segurança digital por meio de narrativas impactantes.

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.