Acabei de compilar o OpenSSL e o navegador Lynx. Gostaria de navegar em sites HTTPS. Entendo que preciso obter certificados das CAs que esses sites usam e que também preciso de algum tipo de certificado próprio. O navegador chama OpenSSL corretamente, mas não consigo navegar na Internet porque não tenho uma lista inicial de certificados CA.
Alguém tem documentação que explica como obter esses certificados e fazer com que o OpenSSL os consuma?
Obrigado
Responder1
Para fazer com que seu navegador lide com SSL/TLS você deve instalar em seu navegador certificados raiz de diferentes autoridades de certificação. Com esses certificados, seu navegador reconhecerá as chaves de sinete e as aceitará. Você podeVerifique aquipara a lista de CAs instaladas no Mozilla, bem como os próprios certificados.
PS Para instalar certificados você deve verificar a documentação do seu navegador
Responder2
Alguém tem documentação que explica como obter esses certificados e fazer com que o OpenSSL os consuma?
Do LinceREADME.sslcerts
:
PROCEDIMENTOS PRELIMINARES:
Presume-se que o openssl foi instalado corretamente, que o diretório cert padrão é /usr/local/ssl/certs, (geralmente é /etc/ssl/certs, mas precisamos de um ponto de partida para a discussão) e que o lynx tem foi compilado --com-ssl.
O local padrão para certificados em seu sistema pode ser diferente ou pode não haver. Você terá que substituir esse local por /usr/local/ssl/certs nas instruções a seguir e/ou definir variáveis de ambiente.
Para determinar o local padrão dos certificados em seu sistema, você pode executar o seguinte comando:
strings libcrypto.a | grep -in cert | less
Procure nesta saída por
SSL_CERT_DIR
andSSL_CERT_FILE
e as linhas logo acima deles. Este é o seu local padrão, respectivamente, para certificados e o pacote de certificados da CA, cert.pem. Você precisará saber onde libcrypto.a é encontrado, é claro.Exemplo de saída:
7490:/etc/ssl/certs 7491:/etc/ssl/cert.pem 7492:SSL_CERT_DIR 7493:SSL_CERT_FILE
Outro exemplo de saída possível:
31555:/usr/local/ssl/certs 31556:/usr/local/ssl/cert.pem 31557:SSL_CERT_DIR 31558:SSL_CERT_FILE
Observe que quando o OpenSSL é instalado, o utilitário c_rehash é instalado em um diretório bin (padrão
/usr/local/ssl/bin
). Você precisará saber onde ele está em seu sistema. O comando:whereis c_rehash
provavelmente dará resultados úteis.
Observe também que não há pacote de certificados CA distribuído com OpenSSL. A equipe OpenSSL decidiu especificamente NÃO fazer isso. A obtenção de um conjunto de certificados confiáveis fica por conta do instalador.
Não é mais um procedimento bastante trivial extrair o pacote de certificados raiz confiáveis de uma versão recente do Internet Explorer. Vários certificados não podem mais ser exportados como um arquivo formatado em DER; a extração de um único certificado é a única exportação para DER, e DER é o que converte para PEM.
Os usuários com acesso ao Apple OS X podem exportar todos os certificados do Keychain Access System Roots como um arquivo .pem. Coloque isso em SSL_CERT_DIR e faça hash e pronto.
O projeto MirOS BSD também os fornece. O procedimento para convertê-los e instalá-los é detalhado posteriormente neste documento, e se você simplesmente precisar de certificados fornecidos comercialmente confiáveis pelo lynx, você pode pular algumas linhas para a seção INSTALANDO OU ATUALIZANDO O CA BUNDLE.
Pacotes de certificados Mozilla extraídos estão disponíveis para download no projeto curlhttp://curl.haxx.se/docs/caextract.htmljunto com um script para extrair da fonte Mozilla.