Jira REST https 请求通过 Java
Jira REST https-requests via Java
我想使用 jersey 客户端(版本 1.1.9)连接到 https jira 服务器。
我需要如何配置安全选项才能使用 REST-API?
我遵循了这些说明:
Accessing secure restful web services using jersey client
但是答案中的第一个link被破坏了,我不知道如何配置信任库和密钥库。我从哪里获得这些文件?
我切换到 jersey-client-2.19 并使用密钥工具配置了密钥库和信任库。
System.setProperty("jsse.enableSNIExtension", "false");
SslConfigurator sslConfig = SslConfigurator.newInstance()
.trustStoreFile("C:/Program Files/Java/jre1.8.0_45/lib/security/cacerts.jks")
.trustStorePassword("somepass")
.keyStoreFile("C:/Program Files/Java/jre1.8.0_45/lib/security/keystore.jks")
.keyPassword("somepass");
SSLContext sslContext = sslConfig.createSSLContext();
Client client = ClientBuilder.newBuilder().sslContext(sslContext)
.build();
HttpAuthenticationFeature feature = HttpAuthenticationFeature.basic(
JIRA_ADMIN_USERNAME, JIRA_ADMIN_PASSWORD);
client.register(feature);
WebTarget webTarget = client.target(JIRA_URL);
WebTarget projectWebTarget = webTarget.path("project");
Invocation.Builder invocationBuilder = projectWebTarget
.request(MediaType.APPLICATION_JSON);
Response response = invocationBuilder.get();
System.out.println(response.getStatus());
System.out.println(response.readEntity(String.class));
也许有更好的方法来设置密钥库和信任库的属性。所以请告诉我。
我想使用 jersey 客户端(版本 1.1.9)连接到 https jira 服务器。 我需要如何配置安全选项才能使用 REST-API?
我遵循了这些说明: Accessing secure restful web services using jersey client
但是答案中的第一个link被破坏了,我不知道如何配置信任库和密钥库。我从哪里获得这些文件?
我切换到 jersey-client-2.19 并使用密钥工具配置了密钥库和信任库。
System.setProperty("jsse.enableSNIExtension", "false");
SslConfigurator sslConfig = SslConfigurator.newInstance()
.trustStoreFile("C:/Program Files/Java/jre1.8.0_45/lib/security/cacerts.jks")
.trustStorePassword("somepass")
.keyStoreFile("C:/Program Files/Java/jre1.8.0_45/lib/security/keystore.jks")
.keyPassword("somepass");
SSLContext sslContext = sslConfig.createSSLContext();
Client client = ClientBuilder.newBuilder().sslContext(sslContext)
.build();
HttpAuthenticationFeature feature = HttpAuthenticationFeature.basic(
JIRA_ADMIN_USERNAME, JIRA_ADMIN_PASSWORD);
client.register(feature);
WebTarget webTarget = client.target(JIRA_URL);
WebTarget projectWebTarget = webTarget.path("project");
Invocation.Builder invocationBuilder = projectWebTarget
.request(MediaType.APPLICATION_JSON);
Response response = invocationBuilder.get();
System.out.println(response.getStatus());
System.out.println(response.readEntity(String.class));
也许有更好的方法来设置密钥库和信任库的属性。所以请告诉我。