JMeter игнорирует сертификат безопасности SSL - PullRequest
0 голосов
/ 23 сентября 2018

При попытке подключения к серверу LDAP я получаю следующую ошибку.Есть ли способ игнорировать сертификат безопасности SSL.Я могу подключиться к серверу за пределами JMeter с помощью других инструментов.

Thread Name: Thread Group 1-1
Sample Start: 2018-09-23 12:16:48 EDT
Load time: 154
Connect Time: 0
Latency: 0
Size in bytes: 555
Sent bytes:0
Headers size in bytes: 0
Body size in bytes: 555
Sample Count: 1
Error Count: 1
Data type ("text"|"bin"|""): text
Response code: 800
Response message: javax.naming.CommunicationException: x.x.x.x:1636 
[Root exception is javax.net.ssl.SSLHandshakeException: 
sun.security.validator.ValidatorException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: unable to 
find valid certification path to requested target]

Response headers:


SampleResult fields:
ContentType: text/xml
DataEncoding: UTF-8

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

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

  • инструмент OpenSSL , например: openssl s_client -showcerts -connect yourhost:yourport
  • SSLPoke инструмент, подобный: java -Djavax.net.debug=ssl SSLPoke yourhost yourport

У вас есть 2 способа:

  1. Добавить сертификат в хранилище доверенных сертификатов JVM , например:

    keytool -import -file your_ldap_certificate -alias certificate -keystore trustStore.keystore 
    
  2. Создайте пользовательский класс , который будет доверять всем сертификатам , и установите системное свойство java.naming.ldap.factory.socket, чтобы указывать на этот класс (класс должен быть в JMeter Classpath )

На всякий случай, если вам нужна дополнительная информация о тестировании производительности серверов LDAP с помощью JMeter, ознакомьтесь с Как загрузить тест LDAP с Apache JMeter ™ статья.

0 голосов
/ 23 сентября 2018

лучший (и самый распространенный) способ решить эту проблему - доверять серверу LDAPS, то есть добавить сертификат сервера в файл cacerts JRE, используя keytool.Уже есть ответ о том, как это сделать (здесь: Есть ли параметр Java для отключения проверки сертификата? ) - суть (взято оттуда)

cd %JRE_HOME%
keytool -alias REPLACE_TO_ANY_UNIQ_NAME -import -keystore ..\lib\security\cacerts -file your.crt

Когдау вас еще нет открытого ключа (файла сертификата), например, вы можете получить его, подключившись к серверу LDAPS с помощью Apache Directory Studio (https://directory.apache.org/studio/), в которой хранятся все открытые ключи серверов LDAPS, которым вы доверяете.уже был описан в списке рассылки (здесь: http://mail-archives.apache.org/mod_mbox/directory-users/201004.mbox/%3C4BBF6471.6040900@apache.org%3E), поэтому яЯ просто даю суть (опять во многом оттуда)

find ~/.ApacheDirectoryStudio -name \*.jks # gives you the keystores managed by DirectoryStudio
keytool -list -keystore path/to/permanent.jks
keytool -exportcert -alias <aliasname> -keystore path/to/permanent.jks -file your.crt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...