Usando proxies seguros com o Google Chrome

2

Sempre que uso um proxy seguro com o Google Chrome, recebo ERR_PROXY_CERTIFICATE_INVALID , tentei muitos cenários e versões diferentes.

O certificado

Estou usando um certificado autoassinado:

openssl genrsa -out key.pem 1024
openssl req -new -key key.pem -out request.pem
openssl x509 -req -days 30 -in request.pem -signkey key.pem -out certificate.pem

Observação: esse certificado funciona (com um aviso por ser autoassinado) quando tento configurar um servidor HTTPS simples.

O proxy

Em seguida, inicio um proxy seguro em localhost:8080 . Existem várias maneiras de fazer isso, eu tentei:

O navegador

Em seguida, executo o Google Chrome com:

google-chrome --proxy-server=https://localhost:8080 http://superuser.com

para carregar, digamos, http://superuser.com .

A questão

Tudo que eu obtenho é:

Error 136 (net::ERR_PROXY_CERTIFICATE_INVALID): Unknown error.

na janela e algo como:

[13633:13639:1017/182333:ERROR:cert_verify_proc_nss.cc(790)] CERT_PKIXVerifyCert for localhost failed err=-8179

no console.

Observação: este não é o grande aviso vermelho que reclama de certificados inseguros.

Agora, tenho que admitir que sou bastante n00b no que diz respeito a certificados e tal, se estiver faltando alguns pontos fundamentais, por favor, avise-me.

    
por cYrus 17.10.2012 / 18:46

1 resposta

4

Talvez tente importar esse certificado para o armazenamento de certificados do sistema e confiar nele. O Chrome usa o sistema operacional para validar o certificado de segurança.

Acho muito compreensível que o Google Chrome forneça um erro, em vez de um aviso, quando o certificado do proxy é inválido porque o recurso de proxy provavelmente é implementado como um complemento transparente para seus componentes de rede. A exigência de uma interface do usuário adicional para confirmar o certificado do proxy não parece ser um recurso útil.

Os passos seguintes farão o seguinte:

  1. Gere a chave e o certificado:

    openssl genrsa -out key.pem 1024
    openssl req -new -key key.pem -subj "/CN=localhost" -out req.pem
    openssl x509 -req -days 30 -in req.pem -signkey key.pem -out cert.pem
    

    Observe que o único campo obrigatório é CN ( CommonName ) e deve ser o mesmo domínio do proxy.

  2. Adicione o certificado ao banco de dados do sistema usando certutil (do pacote libnss3-tools no Debian):

    certutil -d "sql:$HOME/.pki/nssdb" -A -n dummy -i cert.pem -t C
    

    dummy é apenas um apelido e pode ser qualquer coisa, mas forneça a opção -t C .

por 17.10.2012 / 23:05