Como posso usar o curl com um URL SSL para obter 200 OK?

0

Estou tentando usar curlpara obter o status HTTP de uma solicitação GET:

curl --insecure --silent --show-error --connect-timeout 1 -I https://host:8443/health

Nota: estou usando a --insecurebandeira neste comando.

Eu recebo a seguinte saída:

HTTP/1.1 403 Forbidden
Server: Apache-Coyote/1.1
Pragma: No-cache
Cache-Control: no-cache
Accept-Ranges: bytes
Last-Modified: Wed, 16 May 2012 03:05:24 GMT
Content-Type: text/html
Content-Length: 1234
Date: Wed, 16 May 2012 08:57:30 GMT

Quando navego para este URL em um navegador, ele funciona bem e recebo um 200 OK.

Como obter um a 200 OKpartir do comando curl? Posso exportar o certificado PEM do navegador e usá-lo de alguma maneira?

redspike
fonte

Respostas:

0

Você pode exportar o certificado do seu navegador e usá-lo com cURL. Na página do manual:

-E, --cert [certificado] [: senha]

(SSL) Informa ao curl para usar o arquivo de certificado de cliente especificado ao obter um arquivo com HTTPS, FTPS ou outro protocolo baseado em SSL. O certificado deve estar no formato PEM. Se a senha opcional não for especificada, ela será consultada no terminal. Observe que esta opção assume um arquivo de "certificado" que é a chave privada e o certificado privado concatenados! Veja --cert e --key para especificá-los independentemente.

Se o curl for criado na biblioteca SSL do NSS, essa opção poderá informar o apelido do certificado a ser usado no banco de dados NSS definido pela variável de ambiente SSL_DIR (ou por padrão / etc / pki / nssdb). Se o módulo NSS PEM PKCS # 11 (libnsspem.so) estiver disponível, os arquivos PEM poderão ser carregados. Se você deseja usar um arquivo do diretório atual, preceda-o com o prefixo "./", para evitar confusão com um apelido.

Se esta opção for usada várias vezes, a última será usada.

Sibster
fonte
Poderia, por favor, dar um exemplo parahttps://stackexchange.com
GypsyCosmonaut
0

Pré-requisitos: -

Como:-

1) Extrair tarball openssl

tar -zxvf openssl-1.1.1.tar.gz

cd openssl-1.1.1 /

./config

faço

faça instalar

2) Agora trabalhe em curl. Extraia tarball e configure com compatibilidade com openssl

cp curl-7.61.1.tar.bz2 / opt /

cd / opt

tar -jxvf curl-7.61.1.tar.bz2

cd curl-7.61.1 /

env PKG_CONFIG_PATH = / usr / local / ssl ./configure --with-ssl

faço

faça instalar

3) Adicione um novo caminho às novas “bibliotecas do carregador”

echo “/opt/openssl-1.1.1/ssl” >> / etc / ld.so.conf

ldconfig

4) Faça uma nova onda como padrão.

ln -s /opt/curl-7.61.1/src/curl / usr / bin / curl

5) Verifique a versão do curl

Servidor: ~ # curl --version

liblurl / 7.61.1 OpenSSL / 1.1.1 zlib / 1.2.7

Data de lançamento: 2018-09-05

Protocolos: arquivo dict ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp

Recursos: AsynchDNS Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets HTTPS-proxy

Feito

#

#

#

Obrigado,

[email protected]

Niti
fonte