как предоставить JKS-файл (двусторонняя аутентификация) на OpenSSL или Curl CMD - PullRequest
0 голосов
/ 27 апреля 2019

Мне необходимо подключиться к веб-службе, которая прослушивает порт 11902.

URL-адрес WS = https://apps1618:11902/sng/recon. Здесь включена двусторонняя аутентификация. Мне предоставили два файла jks app_01.jks (с keypass) и app_trust_01.jks (вместе с capass). Чтобы проверить, что веб-служба прослушивает, я хочу использовать openssl, curl или wget cmd для публикации некоторых данных в WS.

Я запустил openssl cmd =>

openssl s_client -connect apps1618:11902

CONNECTED(000000003)

depth=0 /C=PK/Lopac/o=apps/OU=plsop/CN=app_01
verify error:num=18:self signed certificate

verify return :1

depth=0 /C=PK/Lopac/o=apps/OU=plsop/CN=app_01

verify return:1

28693:error:14094412:SSL routines:SSL_READ_BYTES:ssl alert bad certificate:s3_pkt.c:SSL alert number 42

28684:error:1409401E:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:188:

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

Я не знаю, как предоставить jks-файл через openssl cmd. Я извлек сертификат из обоих файлов jks в соответствующие файлы .cer и запустил ниже curl cmd

curl -X POST -d @< path >/mydata --cacert < path >/apps_trust_01.cer https://apps1618:11902

curl(:60) error setting certificate verify location 

Я не могу использовать ни одну из команд для подключения к серверу. Однако я проверил журналы на стороне сервера и обнаружил, что он получает мой запрос и печатает исключение ssl handshake (certificate_unknown)

Пожалуйста, предоставьте некоторый указатель, который может помочь мне понять, как предоставить открытый и закрытый ключи или сертификат через любую из этих команд.

Извинения за мое невежество.

-

Заранее спасибо.

...