Как отключить проверку имени хоста SSL с помощью Gatling и SSL двумя способами - PullRequest
0 голосов
/ 08 июня 2018

Я пытаюсь создать тест Гатлинга с SSL, но не могу отключить проверку имени хоста.Я использую Gatling 2.3.Вот моя конфигурация Гатлинга:

ssl {
  keyStore {
    type = "JKS"
    file = "keystore.jks"
    password = "changeit"
    #algorithm = ""
  }
  trustStore {
    type = "JKS"
    file = "truststore.jks"
    password = "changeit"
    #algorithm = ""
  }
}
ahc {
  acceptAnyCertificate = true
  ....
}

Я также добавил свойства этой системы в начале своего приложения

System.setProperty("jdk.tls.allowUnsafeServerCertChange", "true")
System.setProperty("sun.security.ssl.allowUnsafeRenegotiation", "true")

Я вижу, что мои хранилище ключей и хранилище ключей правильно используются, но я сохраняювозникла эта проблема:

java.security.cert.CertificateException: No subject alternative DNS name matching <my_dns> found.
at sun.security.util.HostnameChecker.matchDNS(HostnameChecker.java:204)
at sun.security.util.HostnameChecker.match(HostnameChecker.java:95)
at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:455)
at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:436)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:252)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:136)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1493)
... 28 common frames omitted

Ответы [ 2 ]

0 голосов
/ 19 февраля 2019

Если кто-то все еще ищет решение: эта функция была реализована в v3.0 Gatling.

Соответствующие параметры конфигурации:

ahc {
    enableSni = true                                    # When set to true, enable Server Name indication (SNI)
    enableHostnameVerification = false                  # When set to true, enable hostname verification: SSLEngine.setHttpsEndpointIdentificationAlgorithm("HTTPS")
}
0 голосов
/ 08 июня 2018

Из документации Gatling SSL вы можете попробовать отключить SNI (-Djsse.enableSNIExtension=false).Однако, если вам действительно нужен SNI (виртуальный хостинг SSL), вы не хотите этого делать, и вам нужно кодировать свой собственный HostNameVerifier , хотя я понятия не имею, как вы можете включить это в Gatling.

...