Como obter e usar certificados com curl

13

1) Digitando o seguinte comando

curl -k [email protected]:password https://www.example.com 

Retorna o seguinte erro

 <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://mail.google.com/mail/">here</A>.
</BODY></HTML>
badauth

////////////////////////////////////
 2) depois de baixar o arquivo cacert.crt daqui

http://www.cacert.org/index.php?id=3

Em seguida, renomeou o arquivo "cacert.crt" para "cacert.pem"

Então tentei

curl --cacert /path/to/cacert.pem [email protected]:password https://www.example.com 

Mas receba o mesmo erro.

////////////////////////////////////
3) Então tentando

curl  https://www.example.com 

Eu recebo este erro

curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option

////////////////////////////////////
4) Então eu tentei com -k

curl  -k https://www.example.com 

Mas é claro, consiga o erro

Badauth

////////////////////////////////////

Eu estou supondo que estou fazendo algo errado com o arquivo de certificado, mas eu não sei onde obter um arquivo de certificado ou o que fazer com ele uma vez que eu o tenha.

Eu não tenho nenhum problema em logar usando um navegador, é claro, mas eu gostaria de automatizar o processo com a linha de comando para que eu possa fazer isso com o tasker no meu tablet Android por WiFi.

TIA

    
por Joshua Robison 07.10.2013 / 11:05

2 respostas

1

Você pode baixar os certificados raiz cacert daqui: link

    
por 07.10.2013 / 11:25
1

SUCESSO !!

Eu passei por um serviço web gratuito chamado dnsomatic (executado pelo pessoal da opendns)

É tão simples quanto se inscrever para uma conta e adicionar opendns aos seus serviços. Nenhuma configuração além disso.

Para usuários do Android, as versões do busybox do wget estão muito atrasadas e não há opções para usar nomes de usuário e senhas, por isso teremos que instalar e usar o cURL

O guia para instalar o curl pode ser encontrado aqui

link

Uma vez que você tenha curl, você pode simplesmente fazer coisas como atualizar seu ip do OpenPen

curl -u opendnsusername:password http://updates.dnsomatic.com/nic/update?hostname=opendnshostname
    
por 25.10.2013 / 00:23