Eu tenho um pacote compatível com java para falar com o servidor https na net. A execução da compilação fornece 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 cliente não é segura. Existe alguma maneira de configurar a máquina ou portas locais para conectar-se ao servidor https remoto?
HttpURLConnection
fará isso automaticamente para você, se você não especificar uma porta.Você deve ter um nome de domínio SMTP local que entre em contato com o servidor de correio e estabeleça uma nova conexão, além de alterar a propriedade SSL na sua programação abaixo
fonte
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.
fonte
Eu recebi o mesmo erro. foi porque eu estava acessando a porta https usando http. O problema foi resolvido quando mudei http para https.
fonte
Eu enfrento o mesmo problema do aplicativo Java construído no Jdevelopr 11.1.1.7 IDE. Resolvi o problema desmarcando o uso das propriedades do projeto do formulário proxy.
Você pode encontrá-lo da seguinte maneira: Propriedades do projeto -> (no painel esquerdo) Executar / Depurar / Perfil -> Clique (editar) no painel direito -> Configuração da ferramenta no painel esquerdo -> desmarque a opção Usar proxy.
fonte
Adicionar isso como uma resposta, pois isso pode ajudar alguém mais tarde.
Eu tive que forçar a jvm a usar a pilha IPv4 para resolver o erro. Meu aplicativo costumava trabalhar na rede da empresa, mas durante a conexão em casa, deu a mesma exceção. Nenhum proxy envolvido. Adicionado o argumento jvm
-Djava.net.preferIPv4Stack=true
e todos oshttps
pedidos estavam se comportando normalmente.fonte
Se você estiver executando localmente usando spring, sugiro usar:
Funciona para mim usando o teste de unidade.
Espero que seja de ajuda!
fonte
Funcionou para mim agora, alterei a configuração da minha conta do google como abaixo:
Embora eu tenha ativado o SSL e o TSL durante a execução do programa neste link da mesma publicação. Passo muito tempo, mas percebi e encontrei este link. E feito 2 seguintes etapas e controle de configuração no google. :
Desativar a verificação em duas etapas (senha e OTP)
Ativando para permitir acessar aplicativos menos seguros ( Permitir aplicativos menos seguros: ATIVADO. )
Agora eu posso enviar e-mails usando o programa acima.
fonte
Como o EJP disse, é uma mensagem mostrada devido a uma chamada para um protocolo não https. Se você tem certeza de que é HTTPS, verifique suas configurações de proxy de desvio e, caso adicione o URL do host do serviço da web à lista de proxy de desvio
fonte
se a conexão for teste FTPS:
FTPSClient ftpClient = novo FTPSClient (protocolo, falso);
protocol = TLS, SSL e false = isImplicit.
fonte
Eu estava enfrentando essa exceção ao usar o Gmail.
Para usar o Gmail, tive que ativar "Permitir aplicativos menos seguros" .
Essa configuração do Gmail pode ser encontrada em https://www.google.com/settings/security/lesssecureapps após o login na conta do gmail.
fonte
AQUI UMA RESPOSTA MUITO IMPORTANTE:
Você acabou de alterar sua string de URL da API (em seu método) de https para http. Isso também pode ser a causa:
ao invés de
fonte
Eu obtive o mesmo problema e ele foi resolvido definindo "proxyUser" e "proxyPassword" nas propriedades do sistema.
junto com "proxyHost" e "proxyPort"
Espero que funcione.
fonte
eu resolvi meu problema usando a porta 25 e a seguir prop
fonte
Caso você esteja executando
tente interromper o (s) serviço (s).
Não sei por que recebi um voto negativo para esta resposta. Em nossa rede corporativa, essa é a solução para o problema.
fonte
Eu tenho um erro semelhante ao usar o componente camel-mail para enviar e-mails pelo gmail smtp.
A solução estava mudando da porta TLS (587) para a porta SSL (465), conforme abaixo:
fonte
Se você estiver executando o processo Java a partir da linha de comando no Java 6 ou anterior, adicionar esta opção resolveu o problema acima para mim:
-Dhttps.protocols = "TLSv1"
fonte
Talvez seu certificado padrão tenha expirado. para renová-lo por meio do console de administração, vá em "Segurança> Certificado SSL e Gerenciamento de Chaves> Armazenamentos de Chaves e Certificados> NodeDefaultKeyStore> Certificados Pessoais" selecione o alias "padrão" e clique em "renovar" depois de reiniciar o WAS.
fonte
Outro motivo é talvez "acesso negado", talvez você não consiga acessar o URI e tenha recebido a página de resposta de bloqueio para acesso interno à rede. Se você não tiver certeza de que sua zona de aplicativo precisa de uma regra de firewall, tente conectar-se a partir do terminal, linha de comando. Para GNU / Linux ou Unix, você pode tentar executar como este comando e ver o resultado vindo da regra de bloqueio ou do endereço realmente remoto:
echo | nc -v yazilimcity.net 443
fonte