Как определить причину неизвестной ошибки сертификата - PullRequest
0 голосов
/ 26 февраля 2019

Я использую jetty v9.4.9.Я хочу аутентифицировать запросы, используя client certificate.Я настроил keystore файл в 'jetty-base\etc'.Я использую self-signed certificates на сервере и клиенте.

У меня есть сертификат сервера и корневой сертификат.Я использовал OpenSSL для генерации keystore файла.

С https://www.eclipse.org/jetty/documentation/9.4.x/configuring-ssl.html,

Генерация файла pkcs12:

$ cat example.crt intermediate.crt [intermediate2.crt] ... rootCA.crt > cert-chain.txt
$ openssl pkcs12 -export -inkey example.key -in cert-chain.txt -out example.pkcs12

Загрузка файла хранилища ключей:

$ keytool -importkeystore -srckeystore jetty.pkcs12 -srcstoretype PKCS12 -destkeystore keystore

Используя вышеописанные методы, у меня есть файл 'new_keystore'.Я настроил недавно сгенерированный файл хранилища ключей в jetty-base\start.d\ssl.ini как

jetty.sslContext.keyStorePath=etc\new_keystore
jetty.sslContext.trustStorePath=etc\new_keystore

Теперь я отправляю запрос, используя cURL в Windows

Запрос:

curl -v --cacert root.crt --key client.key --cert client.crt https://localhost:8443

Это приводит к unknown certificate ошибке

  CApath: none
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Request CERT (13):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS handshake, CERT verify (15):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS alert, certificate unknown (558):
* error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown
* Closing connection 0
curl: (35) error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown

В jetty, как определить причину ошибки unknown certificate?Можно ли настроить его на отображение в файле log?Как отладить и исправить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...