O que pode causar falha de https ao não especificar o protocolo SSL?

1

Eu tenho um programa VBScript que recupera uma página da web de um servidor que não está sob meu controle. O URL é parecido com https://someserver.xxx/index.html . Eu uso este código para criar o objeto que a página está recebendo:

Set objWinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")

Quando escrevi meu programa, não tive problemas para recuperar essa página. Recentemente, o servidor da Web que atende a essa página passou por uma atualização. Agora meu programa não pode mais buscar a página.

Algumas dicas:

Dica 1. Eu posso buscar a página da web se eu usar um navegador (tentei o Firefox, o IE e o Chrome).

Clue 2. O código VBScript produz este erro:

The message received was unexpected or badly formatted.

Clue 3. Eu posso buscar a página da web a partir da linha de comando em certos casos, mas não em outros:

curl --sslv3 -v -k 'https://someserver.xxx/index.html' # WORKS!
curl --sslv2 -v -k 'https://someserver.xxx/index.html' # WORKS!
curl -v -k 'https://someserver.xxx/index.html'         # FAILS
curl --tlsv1 -v -k 'https://someserver.xxx/index.html' # FAILS

No caso em que não especifico um protocolo, recebo este erro:

* SSLv3, TLS handshake, Client hello (1):
* error:14077417:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert illegal parameter
* Closing connection #0

No caso em que eu especifique --tlsv1 , recebo este erro:

* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS alert, Server hello (2):
* error:14094417:SSL routines:SSL3_READ_BYTES:sslv3 alert illegal parameter
* Closing connection #0

Alguém tem alguma sugestão ou idéia sobre o que pode estar acontecendo no final do servidor da Web (não consigo conversar com os administradores do servidor da Web para descobrir o que eles mudaram).

Existe uma maneira que eu possa alterar meu código VBScript para contornar esse problema? A versão SSL pode ser forçada?

    
por user35042 02.12.2010 / 22:26

2 respostas

1

O VB aparentemente não entende / decodifica o protocolo TLS completo; neste caso, um alerta TLS (ou seja, tipo de mensagem 0x15).

Eu certamente não sou um programador VB, mas acredito que você pode definir uma propriedade (que eu aprendi consultando link ):  SslProtocol como String "SSL 3.0"

    
por 19.05.2011 / 00:41
0

Parece que eles rebaixaram a segurança em sua atualização. A segurança TLS parece não funcionar. Isso pode ser o resultado de um patch do seu lado verificar a padronização ou a verificação da segurança do TLS. Você deve ser capaz de identificar a segurança que está sendo usada no navegador depois de ter buscado uma página. Eu tentaria entrar em contato com [email protected], pois eles provavelmente não pretendem ser incompatíveis com a segurança TLS.

Se o VBScript estiver usando a configuração do Internet Explorer, você poderá tentar desabilitar todas as cifras TLS no IE. Isso deve forçar o VBScript a negociar com uma criptografia SSLv3 ou SSLv2. Gostaria de começar com a desativação do 3DES, pois havia problemas no Windows ao conectar-se a servidores usando uma implementação segura.

    
por 02.12.2010 / 22:52