web-dev-qa-db-pt.com

Mensagem SSL não reconhecida, conexão de texto sem formatação? Exceção

Eu tenho um pacote Java para falar com o servidor https na rede. Executar a compilação dá a seguinte exceção:

javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    at com.Sun.net.ssl.internal.ssl.InputRecord.handleUnknownRecord(Unknown Source)
at com.Sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
at com.Sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.Sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at com.Sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at com.Sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at Sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
at Sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at Sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source)

Eu acho que isso é devido à conexão estabelecida com a máquina do cliente não é segura. Existe alguma maneira de configurar a máquina ou portas locais para se conectar ao servidor https remoto?

121
karthi

Eu acho que isso é devido à conexão Estabelecida com a máquina do cliente é Não segura.

É devido ao fato de você estar falando com um servidor HTTP, não com um servidor HTTPS. Provavelmente você não usou o número de porta correto para HTTPS.

177
user207421
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

Você deve ter um nome de domínio SMTP local que contate o servidor de e-mail e estabeleça uma nova conexão, bem como você deve alterar a propriedade SSL em sua programação abaixo 

javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection

 props.put("mail.smtp.socketFactory.fallback", "true"); // Should be true
15
Thobith

Recebi a mesma mensagem de erro quando esqueci de fazer login no firewall da empresa, antes de executar uma solicitação POST por meio de um proxy.

8
Jay

Eu tenho o mesmo erro. foi porque eu estava acessando a porta https usando http .. O problema resolvido quando mudei o http para https. 

3
Soumyajit Swain

Eu enfrento o mesmo problema do aplicativo Java construído em Jdevelopr 11.1.1.7 IDE. Eu resolvi o problema, desmarcando o uso de propriedades do projeto de formulário proxy.

Você pode encontrá-lo da seguinte forma: Propriedades do Projeto -> (do painel esquerdo) Executar/Depurar/Perfil -> Clicar (editar) no painel direito -> Configurações da Ferramenta no painel esquerdo -> desmarcar (Usar Proxy).

1
Salman

Eu tenho erro semelhante usando o componente camel-mail para enviar e-mails por gmail smtp. 

A solução estava mudando da porta TLS (587) para a porta SSL (465) conforme abaixo:

<route id="sendMail">
  <from uri="jason:toEmail"/>
  <convertBodyTo type="Java.lang.String"/>
  <setHeader headerName="Subject"><constant>Something</constant></setHeader>
  <to uri="smtps://smtp.gmail.com:[email protected]&amp;password=mypw&amp;[email protected]&amp;debugMode=true&amp;mail.smtp.starttls.enable=true"/>
</route>
0
Cleber Jorge Amaral

Adicionando isso como uma resposta, pois pode ajudar alguém mais tarde.

Eu tive que forçar o jvm a usar a pilha IPv4 para resolver o erro. Meu aplicativo costumava funcionar dentro da rede da empresa, mas, ao se conectar em casa, dava a mesma exceção. Nenhum proxy envolvido. Adicionado o argumento jvm -Djava.net.preferIPv4Stack=true e todas as solicitações https estavam se comportando normalmente.

0
basiljames

Eu estava enfrentando essa exceção ao usar o Gmail.

Para usar o Gmail eu tive que ligar "Permitir aplicativos menos seguros".

Essa configuração do Gmail pode ser encontrada em https://www.google.com/settings/security/lesssecureapps após o login da conta do Gmail.

0
Jose1755

Como o EJP disse, é uma mensagem mostrada devido a uma chamada para um protocolo não https. Se você tiver certeza de que é HTTPS, verifique suas configurações de proxy de bypass e adicione o URL do host do serviço web ao proxy de desvio Lista

0
Fabrizio Stellato

se a conexão for teste FTPS:

FTPSClient ftpClient = new FTPSClient (protocolo falso);

protocolo = TLS, SSL e false = isImplicit.

0
Faxon