Skip to content

Encapsulated class to offer a common patter to create trust and mutually authenticated HTTPS connections

License

Notifications You must be signed in to change notification settings

dwp/https-common-client-utility

Repository files navigation

secure-sockets

Build Status Known Vulnerabilities

An encapsulated class to manage the standard creation of single and mutually authenticated HTTPS connections. Run with VM java options for extra debugging information of the secure socket transaction traffic.

-Djava.security.debug=certpath -Djavax.net.debug=ssl

Project inclusion

properties entry in pom

<properties>
    <dwp.secure-sockets.version>x.x</dwp.secure-sockets.version>
</properties>

dependency reference

<dependency>
    <groupId>uk.gov.dwp.tls</groupId>
    <artifactId>secure-sockets</artifactId>
    <version>${dwp.secure-sockets.version}</version>
</dependency>

Example of use

import uk.gov.dwp.tls.TLSConnectionBuilder;
import uk.gov.dwp.tls.TLSGeneralException;
Target connection trust

Construct for one way server authentication that verifies the endpoint is trustworthy by checking the trust store for known certificates or signing authorities

public TLSConnectionBuilder(String trustStoreFilename, String trustStorePassword)

Mutually trusted connection

Construct a 2 way (mutually) secure TLS connection using a trust store (with associated password) to verify the server certificate and a keystore (with password) to present to target server for server-based mutual certificate trust authentication

public TLSConnectionBuilder(String trustStoreFilename, String trustStorePassword, String keyStoreFilename, String keyStorePassword)

About

Encapsulated class to offer a common patter to create trust and mutually authenticated HTTPS connections

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages