Мне нужно сделать HTTPS-вызов от клиента. Мне не нужно отправлять сертификаты на сервер, просто нужно проверить сертификат с сервера.
Я исследовал эту тему, и это мое понимание. Не могли бы вы подтвердить? У меня еще нет тестовой службы, с которой можно проверить мой код... но все равно нужно соблюдать сроки. Любой совет/ввод будет полезен.
Я добавил это в свой класс:
private static String appKeyFile = "/project/src/security/cert_file.jck";
private static String key = "password";
static {
System.setProperty("javax.net.ssl.keyStore", appKeyFile);
System.setProperty("javax.net.ssl.keyStorePassword",key);
System.setProperty("javax.net.ssl.keyStoreType","JCEKS");
}
И я делаю вызов HTTPS следующим образом:
config = new DefaultClientConfig();
client = Client.create(config);
service = client.resource(UriBuilder.fromUri("https://localhost:8081/TestService").build());
clientResponse = service.path("rs").path("test").path("getCustomerDetail")
.accept(MediaType.APPLICATION_XML)
.post(ClientResponse.class, customerRequestType);
if (clientResponse.getStatus() == Response.Status.OK.getStatusCode()) {
custResponseType = clientResponse.getEntity(CustResponseType.class);
System.out.println("First Name" +
custResponseType.getFirstName());
}
Достаточно ли этого из точки зрения SSL/HTTPS/certs etc (кроме отладки)? Есть ли что-то еще, что мне нужно сделать, например, загрузить хранилище ключей или инициализировать SSLContext?