web-dev-qa-db-ja.com

Apache HttpClientでSSLクライアント証明書を使用するにはどうすればよいですか?

Python私はこのようなリクエストを使用していました:

requests.put(
              webdavURL, 
              auth=(tUsername, tPassword), 
              data=webdavFpb, 
              verify=False, 
              cert=("/path/to/file.pem", "/path/to/file.key"))

やさしい。

ここで、Apache HttpClientを使用してJavaで同じことを実装する必要があります。HttpClientを使用して要求を行うときにクライアント証明書を渡すにはどうすればよいですか?

22
daniels

Java HTTPクライアントの代わりにApache HTTPクライアントを使用する場合、キーストアをSSLFactoryに提供し、HTTPSプロトコルで使用するようにDefaultHTTPClientを構成する必要があります。

実際の例を見つけることができます here

それがお役に立てば幸いです。

11
Bosko Mijin

apache HttpClient 4.5.5で

Apacheクライアント4.5.5で無効なSSL証明書を処理する方法?

HttpClient httpClient = HttpClients
            .custom()
            .setSSLContext(new SSLContextBuilder().loadTrustMaterial(null, TrustAllStrategy.INSTANCE).build())
            .setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE)
            .build();
0
aaron