Este artigo irá demonstrar como instalar um SSL /TLS certificado no macOS 10.14 Mojave. Dois cenários são fornecidos:
- Instale um SSL /TLS certificado para uso em todo o sistema no Acesso às Chaves
- Instale um SSL /TLS certificado para uso com o servidor Apache incluído no macOS
Dependendo da sua situação, você pode querer fazer uma ou as duas coisas; por exemplo, se você estiver configurando um ambiente de desenvolvimento local e quiser que o certificado esteja disponível para o Apache e para o software cliente, como navegadores da web, você deve fazer os dois. Em ambos os casos, começaremos supondo que você gerou sua solicitação de assinatura de certificado (CSR) no Keychain Access, conforme mostrado em how-to. Nesse caso, sua chave privada já estará instalada no Keychain Access. Também presumiremos que a validação foi concluída e seu certificado está pronto para download. Para obter informações sobre como solicitar e recuperar certificados, consulte nosso how-to, Pedido e recuperação de SSL /TLS Profissionais.
Primeiros Passos
-
Baixe o pacote de certificado de sua conta de usuário, usando o apache Link para Download.
-
Descompacte o arquivo. Deve conter o seu certificado (o nome do arquivo será baseado no nome comum em seu CSR e terminar com
.crt
) e o pacote CA (ca-bundle-client.crt
).
Instalando o certificado no acesso às chaves
-
Abra Acesso às Chaves.app, localizado em / Aplicativos / Utilitários.
-
Selecione o chaveiro onde seu par de chaves está instalado. Neste caso é o System chaveiro.
-
Acessar Arquivo> Importar itens ...
-
Navegue até seu novo certificado, selecione-o e clique em Abra.
-
Digite sua senha e clique em Modificar chaveiro.
- Repita as etapas 3-5 acima com
ca-bundle-client.crt
para instalar a cadeia de certificados intermediários. -
Você pode confirmar que os certificados foram instalados selecionando Profissionais no menu da barra lateral esquerda.
Instale o certificado para Apache
-
Se você gerou seu CSR no acesso ao chaveiro, você precisará exportar sua chave privada como um arquivo para uso com o Apache. Abrir Acesso às Chaves.app, localizado em / Aplicativos / Utilitários. (Se vocês gerou o CSR com OpenSSL ou com SSL.com's CSR Manager você pode pular para a etapa 9 abaixo.)
-
Usando o menu da barra lateral esquerda para restringir suas escolhas, encontre e selecione a chave privada que deseja exportar. Neste caso, vamos exportar a chave privada para
www.lunchinhouston.com
, localizado noSystem
chaveiro. -
Escolha Arquivo> Exportar itens ... a partir do menu.
-
Certifique-se de que o formato de arquivo selecionado é Troca de informações pessoais (.p12) e salve o arquivo em um local onde você poderá encontrá-lo.
-
Digite sua senha para desbloquear o chaveiro (se solicitado), crie uma senha para o arquivo .p12 e clique em OK.
-
Abra
Terminal.app
, localizado no/Applications/Utilities/
pasta e navegue até a pasta onde você armazenou o arquivo .p12 na etapa 5. -
Use
openssl
para extrair a chave privada do arquivo .p12. (Nota: substitua os nomes de arquivos mostrados aqui pelo nome do seu arquivo .p12 e pelo nome do arquivo que você deseja usar para a chave). Primeiro, você será solicitado a inserir a senha criada na etapa 5 e, em seguida, a criar e verificar uma senha para proteger a chave privada.$ openssl pkcs12 -nocerts -in Certificados.p12 -out privkey.key
-
Em seguida, você precisará descriptografar a chave privada. Insira o seguinte comando, substituindo os nomes dos arquivos de entrada e saída conforme desejado (usar o mesmo nome mostrado abaixo irá sobrescrever o arquivo criptografado). Você será solicitado a inserir a senha criada na etapa 7.
$ openssl rsa -in privkey.key -out privkey.key
- Coloque a chave privada, o certificado e os arquivos do pacote intermediário em um diretório seguro onde o Apache possa lê-los. Para este como fazer, usaremos
/private/etc/apache2/
. Dependendo do local escolhido, você pode precisar usarsudo
para mover os arquivos. -
Abra o arquivo de configuração principal do Apache,
httpd.conf
, em um editor de texto. Na instalação padrão do Mojave Apache, esse arquivo está localizado no diretório/private/etc/apache2/
diretório. Para abrir o arquivo para edição comnano
, execute o seguinte comando:$ sudo nano /private/etc/apache2/httpd.conf
Nota: Porque você está usandosudo
para assumir temporariamente privilégios suficientes para editar este arquivo, você será solicitado a digitar sua senha antes de continuar. -
Encontre essas linhas em
httpd.conf
e remova o comentário removendo o#
caractere no início de cada linha:LoadModule socache_shmcb_module libexec / apache2 / mod_socache_shmcb.so ... LoadModule ssl_module libexec / apache2 / mod_ssl.so ... Incluir /private/etc/apache2/extra/httpd-vhosts.conf ... Incluir / private / etc / apache2 / extra / httpd-ssl.conf
Nota: se você estiver usandonano
editarhttpd.conf
, você pode procurar por cadeias de texto comCtrl-W
- Economize
httpd.conf
e saia do editor de texto (Ctrl-O
, Seguido porCtrl-X
innano
). -
Em seguida, abra
httpd-ssl.conf
para edição:$ sudo nano /private/etc/apache2/extra/httpd-ssl.conf
-
Procure as seguintes linhas e certifique-se de que o Apache está escutando na porta
443
. Se a porta estiver definida como8443
ou algum outro valor, altere-o para443
.# # Quando também fornecemos SSL, temos que ouvir a # porta HTTP padrão (veja acima) e a porta HTTPS # Ouça 443
- Procure uma linha que comece com a string
<VirtualHost _default_:
(o número da porta pode variar) e comentar ou remover todos os linhas entre isso e</virtualhost>
. - Economize
httpd-ssl.conf
e saia do editor de texto. -
Em seguida, abra
httpd-vhosts.conf
para edição:$ sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
-
Crie uma entrada VirtualHost para o site que deseja proteger (use os valores reais do seu site e servidor em vez dos marcadores de posição mostrados aqui), salve o arquivo e saia do editor de texto.
DocumentRoot "/CAMINHO/PARA/SITE" Nome do servidor NOME DO SERVIDOR SSLEngine em SSLCertificateFile "https://ee443cc2f1.delivery.rocketcdn.me/private/etc/apache8/server.crt" SSLCertificateKeyFile "https://ee2cc2f1.delivery.rocketcdn.me/private/etc/apache8/server.key" SSLCertificateChainFile "https://ee2cc2f1.delivery.rocketcdn.me/private/etc/apache8/ca-bundle-client.crt"
-
Verifique a configuração do Apache com o seguinte comando:
$ sudo apachectl teste de configuração
-
Se tudo estiver bem, reinicie o Apache:
$ sudo apachectl reiniciar
-
Se tudo correr bem, está feito! Você deve conseguir navegar para o seu site HTTPS em um navegador da web.