Мы должны были использовать сертификаты через код для вызова API в определенные приложения. Мы не смогли установить сертификаты в контейнере кода по некоторым причинам. Поставщик услуг API дал нам .cer file.Apache HTTP клиент был использован для этой цели
Начните с первого создания файла ключей на основе и загрузить этот файл .cer на него
keytool -import -alias joe -file <path>/file.cer -keystore <keystoreName> -storepass <password>
Затем добавьте сгенерированный файл хранилища в качестве ресурса в приложении и создать свой собственный HTTPClient для использования этого хранилища ключей
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
import org.apache.http.ssl.SSLContexts;
import javax.net.ssl.SSLContext;
import java.io.File;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
File file = new File(getClass().getClassLoader().getResource(<pathTokeystoreFile>).getFile());
SSLContext sslcontext = SSLContexts.custom()
.loadTrustMaterial(file, CERT_PASSWORD.toCharArray(),
new TrustSelfSignedStrategy())
.build();
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
sslcontext,
new String[]{"TLSv1", "SSLv3", "TLSv1.1", "TLSv1.2"},
null,
SSLConnectionSocketFactory.getDefaultHostnameVerifier());
CloseableHttpClient customClient;
customClient = HttpClients.custom()
.setSSLSocketFactory(sslConnectionSocketFactory)
.build();
}