Ошибки появляются при использовании Jsoup: Исключение в потоке «основной» javax.net.ssl.SSLException: Несоответствие тегов

#java #eclipse #maven #element

Вопрос:

Я пытаюсь использовать простую jsoup программу. Я использую eclipse и создал проект maven с jsoup-1.8.1.jar помощью моих полномочий Maven.

 package com.testing.com.testing.maven.eclipse;
import java.io.IOException;  
import org.jsoup.Jsoup;  
import org.jsoup.nodes.Document;  

public class Main{  
    public static void main( String[] args ) throws IOException{  
                Document doc = Jsoup.connect("https://en.wikipedia.org/wiki/Main_Page").get();  
                String title = doc.title();
                System.out.println("title is: "   title);  
    }  
}
 

Но когда я запускаю его, появляются эти ошибки

 Exception in thread "main" javax.net.ssl.SSLException: Tag mismatch!
    at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:133)
    at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:369)
    at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:312)
    at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:307)
    at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:123)
    at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506)
    at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1416)
    at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:451)
    at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:422)
    at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:574)
    at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:183)
    at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:142)
    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:449)
    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:434)
    at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:181)
    at org.jsoup.helper.HttpConnection.get(HttpConnection.java:170)
    at com.testing.com.testing.maven.eclipse.Main.main(Main.java:8)
Caused by: javax.crypto.AEADBadTagException: Tag mismatch!
    at java.base/com.sun.crypto.provider.GaloisCounterMode.decryptFinal(GaloisCounterMode.java:792)
    at java.base/com.sun.crypto.provider.CipherCore.finalNoPadding(CipherCore.java:1122)
    at java.base/com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.java:1059)
    at java.base/com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:946)
    at java.base/com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:501)
    at java.base/javax.crypto.CipherSpi.bufferCrypt(CipherSpi.java:799)
    at java.base/javax.crypto.CipherSpi.engineDoFinal(CipherSpi.java:735)
    at java.base/com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:673)
    at java.base/javax.crypto.Cipher.doFinal(Cipher.java:2500)
    at java.base/sun.security.ssl.SSLCipher$T13GcmReadCipherGenerator$GcmReadCipher.decrypt(SSLCipher.java:1930)
    at java.base/sun.security.ssl.SSLSocketInputRecord.decodeInputRecord(SSLSocketInputRecord.java:260)
    at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:181)
    at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111)
    ... 12 more
 

Это то, что мое pom.xml похоже на:

 <?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.testing</groupId>
  <artifactId>com.testing.maven.eclipse</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <name>com.testing.maven.eclipse</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>16</maven.compiler.source>
    <maven.compiler.target>16</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <dependency>  
      <groupId>org.jsoup</groupId>  
      <artifactId>jsoup</artifactId>  
      <version>1.8.1</version>  
    </dependency>  
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.11.0</version>
</dependency>
    
  </dependencies>

  <build>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
        <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
        <plugin>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.7.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project> 
 

Я использую JDK 16.0.2

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

Комментарии:

1. Этого не должно произойти, если только (0) не произойдет аппаратный сбой, который не повторится-не так ли? (1) ошибка на сервере, не совсем подходящая для википедии (2) ошибка в вашей Java, маловероятно, если она стандартная (3) что-то в сети изменяет ваши данные . Находитесь ли вы в среде или месте, подлежащем мониторингу, например, в бизнесе, организации или учреждении? Вы находитесь в стране, где правительство делает это, или у интернет-провайдера, который это делает? Есть ли у вас какой-либо антивирус или система защиты конечных точек, которая «проверяет» или «защищает» ваши данные? …

2. … Происходит ли это при переходе на другие серверы (особенно TLS1.3)? Переход из других программ: различные браузеры, такие как Chrome и Firefox, openssl (включая nodejs, python, perl, php), Windows (powershell) Вызвать-WebRequest? Через другой доступ к сети, такой как мобильный телефон или локальная (или удаленная!) точка доступа? PS: вероятно , речь идет не о программировании или разработке, но я думаю, что преждевременно предлагать переезд.

Ответ №1:

Вы можете попробовать установить вручную

установка mvn:установить-файл -Dfile= -DgroupId=
-DartifactId= -Dversion= -Dpackaging=