Назад | Перейти на главную страницу

openssl s_client -connect: ошибка 20 с сертификатом, подписанным сервером для клиента

Что я хочу

Я хочу подключиться к серверу, используя данный подписанный сертификат (от компании, запускающей сервер)

Что у меня есть

Что работает

Я могу создать хранилище ключей Java из подписанного сертификата и моего ключа. Если я использую это в SoapUI, я могу успешно подключиться к серверу, отправляющему запросы SOAP, и получить правильные ответы.

Что не работает

Я не могу использовать свой сертификат и ключ с openssl s_client -connect. Ответ - это Verify return code: 20 (unable to get local issuer certificate)

Мой запрос:

openssl s_client -connect service.company.com:443 -cert myCert.crt -key myKey.key

Что еще я пробовал (безрезультатно)

Я всегда получаю (в значительной степени)

CONNECTED(00000003)
depth=1 C = DE, O = Company, CN = Company CA
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
 0 s:/C=DE/ST=City/L=City/O=Company/CN=service.company.com
   i:/C=DE/O=Company/CN=Company CA
 1 s:/C=DE/O=Company/CN=Company CA
   i:/C=DE/O=Other Company/OU=INST/DSW/CN=Other Company Root CA
---
Server certificate
-----BEGIN CERTIFICATE-----
<SNIP>
-----END CERTIFICATE-----
subject=/C=DE/ST=City/L=City/O=Company/CN=service.company.com
issuer=/C=DE/O=Company/CN=Company CA
---
Acceptable client certificate CA names
/C=DE/O=Other Company/OU=INST/DSW/CN=Other Company Root CA
/C=DE/O=Company/CN=Company CA 
---
SSL handshake has read 3926 bytes and written 2631 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported  
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DHE-RSA-AES256-SHA 
    Session-ID: SessionId
    Session-ID-ctx:
    Master-Key: MasterKey
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket:
    <SNIP>
    Start Time: 1393503573
    Timeout   : 300 (sec)
    Verify return code: 20 (unable to get local issuer certificate)