Исключение SSL-соединения с помощью Socket Tunnel [дубликат]

Насколько я знаю, вы не можете писать файлы из HTML5, потому что предоставление доступа к файлам пользователя на веб-странице будет представлять угрозу безопасности.

Если вам просто нужно сохранить некоторые данные поэтому ваша страница может получить к ней доступ позже, у HTML5 есть что-то, называемое веб-хранилищем, которое может это сделать.

Или вы можете хранить данные в файлах cookie (если они очень маленькие) или на сервере.

113
задан Eric Leschinski 4 August 2013 в 17:31
поделиться

16 ответов

Как сказал EJP, это сообщение показано из-за вызова протокола non-https. Если вы уверены, что это HTTPS, проверьте настройки прокси-сервера обхода и в случае, если ваш URL-адрес хоста webservice в списке прокси-сервера обхода

150
ответ дан user207421 16 August 2018 в 10:06
поделиться
  • 1
    Он говорит HTTPS, а не SMTP. -1 – user207421 13 February 2014 в 04:02
  • 2
    У меня такая же ошибка, и я решил, когда я начал использовать http вместо https. Но когда я размещаю ссылку в браузере с https, это работает! И мне нужно выполнить безопасный запрос. Любая идея о том, как я могу решить проблему? – rsy 31 March 2014 в 15:06
  • 3
    В моем случае это сработало, спасибо! javax.mail.MessagingException: Не удалось подключиться к SMTP-хосту: mail.livemusicgo.com, порт: 25; Вложенное исключение: javax.net.ssl.SSLException: нераспознанное сообщение SSL, соединение с открытым текстом? – surfealokesea 22 April 2014 в 06:49
  • 4
    @rsy Когда вы разместили ссылку ... с https, браузер изменился бы на порт 443 для вас. Вы можете сделать то же самое. Действительно HttpURLConnection автоматически сделает это для вас, если вы вообще не укажете порт. – user207421 10 June 2014 в 00:54
  • 5
    Это работало только в одной попытке. Идеальное решение. – MAC 20 July 2017 в 17:38
  • 6
    Я предполагаю, что вы можете настроить любой порт на вашем сервере на HTTPS, он не должен быть конкретным портом? – Karl Sherwin 25 August 2017 в 07:50
  • 7
    @KarlSherwin Это может быть любой порт, который вам нравится, при условии оговорок, но если это не 443, вам придется позаботиться о себе во всех своих URL-адресах. – user207421 4 April 2018 в 06:21
  • 8
    @surfealokesea Вопрос о HTTP и HTTPS, и ответ или личный опыт SMTP не имеет отношения к делу. – user207421 3 July 2018 в 10:03
150
ответ дан user207421 6 September 2018 в 04:41
поделиться
160
ответ дан user207421 29 October 2018 в 11:19
поделиться

У меня такая же проблема, и она была решена путем установки «proxyUser» и «proxyPassword» в системных свойствах.

System.setProperty("http.proxyUser", PROXY_USER);
System.setProperty("http.proxyPassword", PROXY_PASSWORD);

вместе с «proxyHost» и «proxyPort»

System.setProperty("http.proxyHost", PROXY_ADDRESS);
System.setProperty("http.proxyPort", PROXY_PORT);

Надеюсь, что это сработает.

-1
ответ дан Anil kumar 16 August 2018 в 10:06
поделиться
  • 1
    Он будет работать, если вы используете HTTP-клиент Apache, и вы получили исключение авторизации. Это будет not работать, чтобы решить проблему, указанную OP. – user207421 3 July 2018 в 10:04

Добавление этого в качестве ответа, поскольку это может помочь кому-то позже.

Мне пришлось заставить jvm использовать стек IPv4 для устранения ошибки. Мое приложение использовалось для работы в сети компании, но при подключении из дома оно дало то же исключение. Никакой прокси. Добавлен аргумент jvm -Djava.net.preferIPv4Stack=true, и все запросы https ведут себя нормально.

0
ответ дан basiljames 16 August 2018 в 10:06
поделиться
  • 1
    В самом деле? IPv4 против IPv6 решил SSLException? Сложно поверить. На самом деле это невозможно. – user207421 3 July 2018 в 10:02
  • 2
    Да, трудно поверить, но это то, что решило мою проблему и так не невозможно. – basiljames 8 August 2018 в 20:53

Теперь он работал для меня, я изменил настройку своей учетной записи google, как показано ниже:

        System.out.println("Start");
        final String username = "myemail@gmail.com";
        final String password = "************";

        Properties props = new Properties();
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.port", "465");
        props.put("mail.transport.protocol", "smtp");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");

         Session session = Session.getInstance(props,
                  new javax.mail.Authenticator() {
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication(username, password);
                    }
                  });


        try {
            Transport transport=session.getTransport();
            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress("myemail@gmail.com"));//formBean.getString("fromEmail")
            message.setRecipients(Message.RecipientType.TO,InternetAddress.parse("myemail@gmail.com"));
            message.setSubject("subject");//formBean.getString(
            message.setText("mailBody");
            transport.connect();
            transport.send(message, InternetAddress.parse("myemail@gmail.com"));//(message);

            System.out.println("Done");

        } catch (MessagingException e) {
            System.out.println("e="+e);
            e.printStackTrace();
            throw new RuntimeException(e);

        }

Хотя я включил SSL и TSL во время запуска программы в этой ссылке того же поста. Я провожу много времени, но я понял и нашел эту ссылку. И сделали 2 следующих шага и установили контроль в google. :

  • Отключить двухэтапную аутентификацию (пароль и OTP)
  • Разрешить доступ к менее защищенному приложению (разрешить менее безопасные приложения: ВКЛ.)

Теперь я могу отправлять почту, используя указанную выше программу.

-1
ответ дан Community 16 August 2018 в 10:06
поделиться

, если соединение является тестом FTPS:

FTPSClient ftpClient = новый FTPSClient (протокол, ложь);

protocol = TLS, SSL и false = isImplicit.

0
ответ дан Faxon 16 August 2018 в 10:06
поделиться

Я получил то же сообщение об ошибке, когда забыл войти в брандмауэр компании, прежде чем выполнять запрос POST через прокси.

7
ответ дан Jay 16 August 2018 в 10:06
поделиться
  • 1
    Я должен был сделать то же самое, хотя я был внутри компании! – MonoThreaded 4 May 2016 в 14:19

Я столкнулся с этим исключением при использовании Gmail.

Чтобы использовать Gmail, мне пришлось включить «Разрешить менее безопасные приложения».

Этот параметр Gmail можно найти по адресу https://www.google.com/settings/security/lesssecureapps после входа в учетную запись gmail.

0
ответ дан Jose1755 16 August 2018 в 10:06
поделиться

Если вы используете Java-процесс из командной строки на Java 6 или более ранней версии, добавив этот переключатель, решив проблему выше для меня:

-Dhttps.protocols = "TLSv1"

-3
ответ дан MarkL 16 August 2018 в 10:06
поделиться

Возможно, срок действия вашего по умолчанию истек. обновить его через консоль администратора «Безопасность» SSL-сертификат и управление ключами> Хранилища ключей и сертификаты> NodeDefaultKeyStore> Личные сертификаты "выберите псевдоним по умолчанию и нажмите« возобновить »после перезапуска WAS.

-3
ответ дан mbsau 16 August 2018 в 10:06
поделиться
  • 1
    Истекший сертификат не вызывает это исключение. – user207421 2 July 2015 в 22:06

Еще одна причина - «отказ в доступе», возможно, вы не можете получить доступ к URI и получить страницу ответа блокировки для внутреннего доступа к сети. Если вы не уверены, что в вашем приложении требуется правило брандмауэра, вы пытаетесь подключиться к терминалу, командной строке. Для GNU / Linux или Unix вы можете попробовать запустить эту команду и увидеть, что результат исходит из правила блокировки или действительно удаленного адреса: echo | nc -v yazilimcity.net 443

-2
ответ дан oguzhankinik 16 August 2018 в 10:06
поделиться
  • 1
    Если вы получили какую-либо страницу, SSL-часть работала отлично, и у вас не было бы исключения, указанного в OP. – user207421 3 July 2018 в 10:05
  • 2
    Я не получаю какую-либо страницу с помощью SSL-части, я получил ответ внутренней HTTP-сети на специальную подготовленную страницу. Для этого сценария я получаю доступ к HTTP-странице через запрос HTTPS, поэтому я получил это исключение. После изменения сетевого правила это исключение также будет разрешено самостоятельно. – oguzhankinik 10 July 2018 в 21:07

В случае, если вы запускаете

  • Защищенный агент мобильности Cisco AnyConnect
  • Агент Cisco AnyConnect Web Security Agent

попытается остановить службу (s).

Не знаю, почему я получил голосу за этот ответ. В нашей корпоративной сети это решение проблемы.

0
ответ дан RobE 16 August 2018 в 10:06
поделиться

Я сталкиваюсь с той же проблемой с Java-приложением, встроенным в Jdevelopr 11.1.1.7 IDE. Я решил проблему, сняв флажок в использовании свойств проекта proxy.

Вы можете найти его в следующем: Свойства проекта -> (из левой панели) Запуск / Отладка / Профиль -> Нажмите (изменить) форму правая панель -> Настройка инструмента с левой панели -> снимите флажок (Использовать прокси).

1
ответ дан Salman 16 August 2018 в 10:06
поделиться

У меня такая же ошибка. это потому, что я обращался к порту https, используя http. Проблема была решена, когда я изменил http на https.

2
ответ дан Soumyajit Swain 16 August 2018 в 10:06
поделиться
  • 1
    Нет, вы получили сообщение об ошибке при доступе к HTTP-порту через HTTPS. Прочтите сообщение об ошибке. Вы подключились к цели открытого текста. Ситуация, о которой вы описали, не вызвала бы SSLException, поскольку вы не использовали бы SSL. – user207421 2 July 2015 в 22:05

я решил свою проблему, используя порт 25 и следующий prop

mailSender.javaMailProperties.putAll([
                "mail.smtp.auth": "true",
                "mail.smtp.starttls.enable": "false",
                "mail.smtp.ssl.enable": "false",
                "mail.smtp.socketFactory.fallback": "true",
        ]);
-1
ответ дан srsajid 16 August 2018 в 10:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: