JMeter: плагин подписи сообщений SOAP

Я пытаюсь отправить запрос SOAP (подписанный) с помощью пробоотборника HTTP-запросов вместе с плагином SOAP Message Signer. Запрос отлично работает с SOAPUI. Кажется, через JMeter происходит сбой, если я использую те же параметры (для подписывающего сообщения SOAP).

Как часть запроса SOAP, заголовок должен быть подписан. Я получаю следующую ошибку при подписании. Может ли кто-нибудь сообщить мне причину неудачи?

n.c.b.j.m.AbstractWSSecurityPreProcessor: создание заголовка WSS o.a.w.d.m.WSSecSignature: начало подписания... ОШИБКА


person Victor    schedule 22.08.2017    source источник


Ответы (3)


Вы добавили в хранилище ключей jmeter сертификат под псевдонимом cert_alias?

Вот что говорится в сообщении:

Сертификаты для подписи пользователя "cert_alias" не найдены

Хранилище ключей находится в папке jmeter/bin

Вы можете попробовать этот плагин:

person UBIK LOAD PACK    schedule 22.08.2017
comment
Привет, я поместил файл хранилища ключей в папку jmeter/bin. Но это не сработало. Однако я указываю имя файла (.p12) в «Подписчике сообщений SOAP» в настройках сертификата. - person Victor; 23.08.2017

Наконец я смог отправить успешный запрос с помощью плагина. Я использовал подписанный заголовок как часть запроса SOAP. Конфигурация плагина: Файл хранилища ключей: путь к файлу .jks Пароль хранилища ключей: пароль Псевдоним сертификата — cert_alias Пароль сертификата — пароль сертификата

После удаления подписанного заголовка из запроса SOAP это сработало. Спасибо.

person Victor    schedule 24.08.2017

Если ваша конечная точка SOAP ожидает, что сообщение будет зашифровано сертификатом на стороне клиента, вы можете настроить JMeter для его использования, добавив следующие строки в файл system.properties:

javax.net.ssl.keyStoreType=pkcs12 or jks  
javax.net.ssl.keyStore=/path/to/your/jsk keystore or .p12 certificate
javax.net.ssl.keyStorePassword=your certificate or keystore password

Для выбора свойств потребуется перезапуск JMeter.

Вы также можете передать их через аргумент командной строки -D, например:

jmeter -Djavax.net.ssl.keyStoreType=pkcs12 -Djavax.net.ssl.keyStore=your-certificate.p12 -Djavax.net.ssl.keyStorePassword=secret

Дополнительная информация:

person Dmitri T    schedule 22.08.2017
comment
Я поместил файл .p12 в папку jmeter/bin, а также указал в файле system.properties. Все еще не работает с тем же сообщением об ошибке. Должен ли я внести какие-либо изменения/параметризировать заголовок сообщения SOAP? Если я использую плагин SOAP Message Signer, как будет заменяться заголовок для каждого отдельного запроса? Есть ли образец плана тестирования, на который можно сослаться? - person Victor; 23.08.2017