client-tls-tools

Java tools for client-side TLS operations.

License

License

Categories

Categories

CLI User Interface
GroupId

GroupId

com.spotify
ArtifactId

ArtifactId

client-tls-tools
Last Version

Last Version

0.0.1
Release Date

Release Date

Type

Type

pom
Description

Description

client-tls-tools
Java tools for client-side TLS operations.
Project URL

Project URL

https://github.com/spotify/client-tls-tools
Source Code Management

Source Code Management

https://github.com/spotify/client-tls-tools

Download client-tls-tools

How to add to project

<!-- https://jarcasting.com/artifacts/com.spotify/client-tls-tools/ -->
<dependency>
    <groupId>com.spotify</groupId>
    <artifactId>client-tls-tools</artifactId>
    <version>0.0.1</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/com.spotify/client-tls-tools/
implementation 'com.spotify:client-tls-tools:0.0.1'
// https://jarcasting.com/artifacts/com.spotify/client-tls-tools/
implementation ("com.spotify:client-tls-tools:0.0.1")
'com.spotify:client-tls-tools:pom:0.0.1'
<dependency org="com.spotify" name="client-tls-tools" rev="0.0.1">
  <artifact name="client-tls-tools" type="pom" />
</dependency>
@Grapes(
@Grab(group='com.spotify', module='client-tls-tools', version='0.0.1')
)
libraryDependencies += "com.spotify" % "client-tls-tools" % "0.0.1"
[com.spotify/client-tls-tools "0.0.1"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

  • client-https
  • client-tls

ssh-agent-tls

Build Status codecov Maven Central License

This Java library provides tools for client-side TLS operations. This project is currently stable and used in Helios.

Download

Download the latest JAR or grab via Maven.

<dependency>
  <groupId>com.spotify</groupId>
  <artifactId>ssh-agent-tls</artifactId>
  <version>0.0.1</version>
</dependency>

Getting started

This example shows how to present a static TLS certificate stored on disk. Specify the paths of the certificate "cert.pem" and private key "key.pem" for CertKeyPaths. Then create an instance of CertFileHttpsHandler, an implementation of HttpsHandler, and use it to handle() the HttpsURLConnection.

final URL url = new URL("https://example.net");
final HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();

final CertKeyPaths certKeyPaths = CertKeyPaths.create(Paths.get("/cert.pem"), Paths.get("/key.pem"));
final CertFileHttpsHandler certFileHttpsHandler =
    HttpsHandlers.createCertFileHttpsHandler("username", false, certKeyPaths);
certFileHttpsHandler.handle(conn);

This example shows how to use an SSH key pair via ssh-agent (only RSA keys are supported right now) to sign a randomly generated X.509 certificate. Create an instance of SshAgentHttpsHandler, an implementation of HttpsHandler, and use it to handle() the HttpsURLConnection.

import com.spotify.sshagentproxy.AgentProxies;
import com.spotify.sshagentproxy.Identity;

final URL url = new URL("https://example.net");
final HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();

final AgentProxy agentProxy = AgentProxies.newInstance();
final List<Identity> identities = agentProxy.list();
final SshAgentHttpsHandler sshAgentHttpsHandler =
    HttpsHandlers.createSshAgentHttpsHandler("username", false, agentProxy, identities.get(0));
sshAgentHttpsHandler.handle(conn);

Prerequisities

Any platform that has the following

  • Java 7+
  • Maven 3 (for compiling)

Code of conduct

This project adheres to the Open Code of Conduct. By participating, you are expected to honor this code.

com.spotify

Spotify

Versions

Version
0.0.1