Как вызвать API из Java с помощью https-клиента с SSL-сертификатом ⇐ JAVA
-
Anonymous
Как вызвать API из Java с помощью https-клиента с SSL-сертификатом
Я вызываю rest API из файла Java с помощью HttpClient. Используя это, я могу вызывать HTTP API, но не https API.
При вызове httpsapi возникает ошибка ниже.
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: не удалось построить путь PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации к запрошенной цели в sun.security.ssl.Alerts.getSSLException(Alerts.java:192) в sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1946) в sun.security.ssl.Handshaker.fatalSE(Handshaker.java:316) в sun.security.ssl.Handshaker.fatalSE(Handshaker.java:310) в sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1639) в sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:223) в sun.security.ssl.Handshaker.processLoop(Handshaker.java:1037) в sun.security.ssl.Handshaker.process_record(Handshaker.java:965) в sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1064) в sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1367) в sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1395) в sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1379) Я хочу вызвать https API, используя CloseableHttpClient.
У меня есть файл сертификата с закрытым ключом. Пожалуйста, дайте мне знать, как я могу использовать этот закрытый ключ для вызова API?
Я вызываю rest API из файла Java с помощью HttpClient. Используя это, я могу вызывать HTTP API, но не https API.
При вызове httpsapi возникает ошибка ниже.
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: не удалось построить путь PKIX: sun.security.provider.certpath.SunCertPathBuilderException: невозможно найти действительный путь сертификации к запрошенной цели в sun.security.ssl.Alerts.getSSLException(Alerts.java:192) в sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1946) в sun.security.ssl.Handshaker.fatalSE(Handshaker.java:316) в sun.security.ssl.Handshaker.fatalSE(Handshaker.java:310) в sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1639) в sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:223) в sun.security.ssl.Handshaker.processLoop(Handshaker.java:1037) в sun.security.ssl.Handshaker.process_record(Handshaker.java:965) в sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1064) в sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1367) в sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1395) в sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1379) Я хочу вызвать https API, используя CloseableHttpClient.
У меня есть файл сертификата с закрытым ключом. Пожалуйста, дайте мне знать, как я могу использовать этот закрытый ключ для вызова API?
Мобильная версия