Estou configurando o proxy reverso nginx no Ubuntu 16.04 LTS Server para Web-Server.
Haverá três serviços diferentes em execução no Ubuntu. Os serviços se comunicarão usando chamadas de API. Da mesma forma, os Clientes (navegador/móvel) comunicarão os serviços usando chamadas de API.
Para validar solicitações SSL do cliente, preciso instalar certificados no PC do servidor. Após a autenticação, apenas a solicitação será processada ou encaminhada para processamento posterior.
Cada serviço possuo certificados dos seguintes arquivos de formato. Ser1_cert.crt, Ser1_key-decryp.key, Ser1_keyfile.key, Ser1_exported.pfx
lly Ser2_..., Ser3_... files are available
Para CA, tenho CA_50EA.crt, arquivos CA_50EA.pfx estão disponíveis
Não tenho clareza sobre qual formato de arquivo de certificado devo usar para instalação de certificado.
Para instalar certificados no sistema segui os seguintes passos. 1. Copiei os arquivos de extensão .crt (incluindo o arquivo CA) e /usr/share/ca-certificates
executei o comando abaixo. 2.sudo dpkg-reconfigure ca-certificates
Mostrou a UI para selecionar certificados, selecionei todos. No final mostrou o não. de certificados adicionados.
Coloquei o caminho do certificado corretamente no arquivo nginx.conf. Copiei .crt
e .key
arquivos para /etc/ssl/certs/
e /etc/ssl/private/
respectivamente.
ssl_certificate "/etc/pki/certs/XServer_certificate.crt"; ssl_certificate_key "/etc/ssl/private/XServer_decryp.key";
Agora tentei fazer login no servidor a partir do cliente do navegador, mas a validação do certificado de login falhou com a seguinte mensagem de log do servidor.
info: LoginController[0]
Certification Error :unable to get local issuer certificate
Para reconfirmar novamente, copiei todos os arquivos de certificado para /usr/share/ca-certificates
o diretório (total de 14 arquivos) e executei novamente sudo dpkg-reconfigure ca-certificates
. Desta vez também recebendo o mesmo erro.
Da próxima vez que executei sudo update-ca-certificates --fresh
o comando, ele mostrou o não. de certificados instalados com um aviso para o arquivo ca.pem conforme abaixo.
WARNING: CA_50EA.pem does not contain a certificate or CRL: skipping 152 added, 0 removed; done.
O arquivo .pem é criado na /etc/ssl/certs
pasta, mas inseri apenas o arquivo .crt em/usr/share/ca-certificates
Tentei verificar usando o comando abaixo, mas também vejo o mesmo problema abaixo.
openssl s_client -connect [server name]:443 -showcerts -CAfile /etc/ssl/certs/ca-certificates.crt
................. ................. Verify return code: 21 (unable to verify the first certificate)
Diz muito claramente que a verificação falhou.
Qualquer etapa que esteja faltando, qual é a abordagem correta para fazer isso. Ao ver o erro, pensei que o CA não estava instalado corretamente.
Eu li muitos blogs, a maioria deles explicando o mesmo, mas não está funcionando para mim.
algum tempo antes de trabalhar no CentOS7, usei os seguintes comandos para instalar certificados no sistema. update-ca-trust force-enable, update-ca-trust extract Na validação de certificado de clientes CentOS está ocorrendo bem com os comandos acima.
Qualquer feedback é apreciado.
Obrigado
Responder1
Em primeiro lugar, obrigado a todos vocês,
Meu problema é: O Certificado CA que está sendo instalado com sucesso no CentOS, o mesmo Certificado não está sendo instalado no Ubuntu 16 Server, dando a mensagem de aviso abaixo. AVISO: CA_50EA.pem não contém um certificado ou CRL: ignorando 152 adicionados, 0 removidos; feito.
Solução: Depois de fazer abordagens diferentes, não foi possível identificar a causa raiz exata desse problema. De repente, tive uma ideia: isso resolveu meu problema.
Criei uma nova CA raiz a partir do arquivo CA.pfx usando as etapas de URL abaixo e instalei com sucesso no Ubuntu 16 Server sem nenhum aviso e verifiquei as solicitações do meu cliente com sucesso. https://www.itsupportmiami.com/how-to-convert-a-pfx-to-a-seperate-key-crt-file/
Obrigado a todos vocês que assistiram minha pergunta e tentaram responder.