Como salvar um certificado SSL do servidor remoto localmente como um arquivo | shelleyness.com
Questão Como salvar um certificado SSL do servidor remoto localmente como um arquivo
Eu preciso baixar um certificado SSL de um servidor remoto (não HTTPS, mas o handshake SSL deve ser o mesmo que o Google Chrome / IE / wget e enrolar todos os erros de verificação de verificação de certificado) e adicionar o certificado como confiável em meus laptops Windows ' armazenamento de certificados, pois não consigo que meus funcionários de TI me forneçam o certificado da CA.
isso é para comunicações de escritório, então não posso realmente usar o cliente real para obter o certificado.
Como faço isso, tenho o Windows 7 e uma pilha de Linuxes úteis para que qualquer linguagem de ferramenta / script esteja bem.
Para obter o certificado de um servidor de e-mail, Vejo security.stackexchange.com/questions/70528/… - That Brazilian Guy
Se você tiver acesso ao OpenSSL, tente
substituindo {HOSTNAME} e {PORT} por quaisquer valores que você tenha.
Eu prefiro esta opção porque não tenho que abrir uma GUI, e posso fazê-lo via SSH dos nossos servidores. - bramp
Além disso, ele funciona para protocolos diferentes de HTTP. - matt
solução de elec3647 automatiza totalmente a extração do PEM em um pipeline de shell. - phs
443 é a porta padrão para HTTPS. - Flimm
eu precisei -servername opção para obter o certificado de host virtual. gist.github.com/Artistan/5219484efb2fe51cd064175b3d0d5971 - Artistan
Um método rápido para obter o certificado puxado e baixado seria executar o seguinte comando que canaliza a saída do comando -showcerts para o comando x509 ssl, o qual simplesmente retira tudo o que é externo. Por exemplo:
Para usar o certificado, com wget,
Eu tentei isso (em outro site) - mas era esperado que a cadeia completa de certs: parece que isso só trouxe de volta o primeiro na cadeia - é que se espera? - monojohnny
Isso não está funcionando para mim: não é possível carregar o certificado 27262: erro: 0906D06C: PEM rotinas: PEM_read_bio: sem linha de partida: /SourceCache/OpenSSL098/OpenSSL098-50/src/crypto/pem/pem_lib.c: 648: Esperando: TRUSTED CERTIFICADO - Janusz
Eu concordo com o monojohnny, isso não te dá a cadeia completa. - Michael Munsey
Tarde mas @monojohnny: openssl s_client -showcerts exibe todos os certificados na cadeia recebida (se a conexão for bem-sucedida), mas openssl x509 leva apenas o primeiro e descarta o resto. Para obter todos eles, em vez disso, use ...| sed -n '/^-----BEGIN CERT/,/^-----END CERT/p' ou ...| awk '/^-----BEGIN CERT/,/^-----END CERT/' Você também pode usar um pouco mais complicado awk para colocar cada certificado em um arquivo separado que os torna mais fáceis de usar com openssl e algumas outras ferramentas. - dave_thompson_085
Para usar o certificado, com wget, wget https:/server.edu:443/somepage --ca-certificate=mycertfile.pem - MUY Belgium
Para ser honesto, eu nunca tentei isso antes (nunca precisei) no entanto, eu apenas tentei no Firefox e parece funcionar para salvar:
Clique no ícone do certificado SSL no topo / cadeado na parte inferior.
Clique View Certificate
Clique no Details Aba
Escolha qual certificado você quer da hierarquia [não circulado na imagem]
Clique Export
É bom saber - mas, para minha curiosidade, você pode explicar um pouco mais o que está tentando realizar? Eu nunca precisei exportar um certificado de cliente SSL e estou muito curioso para saber por que você realmente precisaria fazer isso ... - William Hilsum
Isso é um certificado de servidor, não um certificado de cliente. O principal motivo para exportar uma chave privada e um certificado do cliente é manter um backup ou se você quiser autenticar usando outro navegador ou computador. - gbroiles
@gbroiles - leia a pergunta, ele usou a terminologia errada, mas isso resolveu seu problema. - William Hilsum
certo, e eu respondi a sua pergunta - por que alguém iria querer salvar um certificado de cliente? "Certificado de cliente SSL" foi o seu termo, não o seu. - gbroiles
Não parece que há uma maneira de fazer isso no Chrome, certo ?! - fatuhoku
Exportando um certificado usando o navegador Chrome
Conecte-se ao site usando SSL (https: // whatever)
2. Clique no símbolo de bloqueio e, em seguida, clique em Detalhes
Desde a versão 56 do Chrome, você faz o seguinte: vá para o menu Three Dots -> More Tools -> Developer Tools, depois clique na guia Security. Isso lhe dará uma Visão geral de segurança com um Ver certificado botão.
Clique no Ver certificado botão.
Uma janela modal será aberta. Tem dois painéis. A parte superior mostra a hierarquia de confiança do certificado do site (o último listado), o (s) certificado (s) intermediário (s) e o certificado raiz (o mais alto).
O segundo painel, maior, mostra os detalhes de um dos certificados.
Pode haver zero ou mais certificados intermediários.
Observe que o certificado raiz tem um ícone com borda dourada. Os outros têm uma borda azul.
Para exportar um certificado:
Primeiro, clique no ícone do certificado na hierarquia de confiança.
O certificado será mostrado na parte principal do modal.
Clique no ícone grande do certificado na parte principal do modal. Arrastar o ícone na sua área de trabalho. O Chrome copiará o certificado para sua área de trabalho.
Eu tive que arrastar o ícone para um editor de texto, o desktop não funcionou para mim. - Cory Klein
Para o Chrome no Windows, depois de clicar em "Exibir certificado", o modal é diferente do Mac. Clique na guia Detalhes e, em seguida, Copiar para arquivo ... Em seguida, escolha o formato e o nome do arquivo, que é simples. - PolyTekPatrick
Quando uso o Chrome v63 no Mac OS, o arquivo de texto que recebo arrastando o certificado é legível, mas não em qualquer formato estruturado que possa descobrir como converter em um formato legível por máquina, como o X.509 .crt. - Jim DeLaHunt
nenhuma diferença se abrir a partir da barra de endereços ou a partir desta aba dev, e ainda não pode baixar crt ... - user25
Isto é gbroiles 'responda, mas eu queria ressaltar que o projeto cURL tem uma página com mais alguns detalhes em usar openssl para salvar o certificado SSL do servidor remoto:
openssl s_client -connect {HOSTNAME}: {PORTA} | logfile tee
Tipo QUIT e pressione a tecla Enter / Return.
O certificado será listado entre os marcadores "BEGIN CERTIFICATE" e "END CERTIFICATE".
Se você quiser ver os dados no certificado, você pode usar:
openssl x509 -inform PEM -na certfile -text -out certdata
Onde certfile é o certificado extraído de logfile. Olhar dentro certdata.
-servername foi necessário para eu obter o certificado certo do host virtual em nosso servidor.
você também pode converter em um certificado para desktop
última parte é adicioná-lo ao seu certs, não tenho certeza no windows
para mac keychain eu usei, deveria ser similar ...
Isso fornecerá os resultados contendo apenas os certificados
Como criar uma pasta de pesquisa personalizada que pesquisa "follow up" e "under #### folder"? Como os computadores da rede de acesso pelo nome dd - apenas copiar partições Compressão com BarCat? Script para obter imagens na pasta com dimensões impressas em um arquivo .txt É seguro alterar% TEMP% e% TMP% para um local personalizado? AIR / Flash Fullscreen em vários monitores como uma janela?