0

I want to perform a https request to an arbitrary IP but I run into the following error:

No subject alternative names matching IP address XX.XX.XX.XX found

I have tried to disable the SSL verification but the error persists:

import java.net.URI
import java.net.http.HttpRequest.BodyPublishers
import java.net.http.HttpResponse.BodyHandlers
import java.net.http.{HttpClient, HttpRequest}
import java.security.SecureRandom
import java.security.cert.X509Certificate
import java.time.Duration
import java.util.concurrent.ConcurrentLinkedQueue
import javax.net.ssl.{SSLContext, X509TrustManager}
import scala.io.Source
import scala.jdk.CollectionConverters.MapHasAsScala
import scala.sys.SystemProperties

  object TrustAnyTrustManager extends X509TrustManager {

    override def getAcceptedIssuers : Array[X509Certificate] = Array()

    override def checkClientTrusted(x509Certificates: Array[X509Certificate], s: String): Unit = {}

    override def checkServerTrusted(x509Certificates: Array[X509Certificate], s: String): Unit = {}

  }

def request(target : String, ssl : Boolean = true) = {
      val sslContext = SSLContext.getInstance("TLS")
      sslContext.init(null, Array(TrustAnyTrustManager), new SecureRandom())
      new SystemProperties().addOne("jdk.internal.httpclient.disableHostnameVerification" -> true.toString)
      val client = HttpClient.newBuilder()
        .sslContext(sslContext)
        .connectTimeout(Duration.ofSeconds(2))
        .followRedirects(HttpClient.Redirect.NEVER).build()
      val url = s"http${if (ssl) "s" else ""}://$target"
      val request = HttpRequest.newBuilder(URI.create(url)).method("HEAD", BodyPublishers.noBody()).build()
      val response = client.send(request, BodyHandlers.discarding())
}

How can I disable the alternative names check?

Sim
  • 4,199
  • 4
  • 39
  • 77
  • Does this answer your question? [Allow insecure HTTPS connection for Java JDK 11 HttpClient](https://stackoverflow.com/questions/52988677/allow-insecure-https-connection-for-java-jdk-11-httpclient) – Gastón Schabas Jun 28 '23 at 17:38

0 Answers0