Java library for SPIFFE support
Go to file
Max Lambrecht d310d7bbee Adding fetchJwtSvid method not requiring subject as parameter.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-07-06 16:21:06 -03:00
gradle/wrapper Update gradle wrapper version to 6.5.1 2020-07-01 15:01:34 -03:00
java-spiffe-core Adding fetchJwtSvid method not requiring subject as parameter. 2020-07-06 16:21:06 -03:00
java-spiffe-helper Adding fetchJwtSvid method not requiring subject as parameter. 2020-07-06 16:21:06 -03:00
java-spiffe-provider Add MacOS support. 2020-07-04 09:57:49 -03:00
.gitignore First commit 2018-05-28 12:39:13 -03:00
.travis.yml Remove jdk 8 in travis build for OSX. 2020-07-04 10:07:24 -03:00
LICENSE Adding LICENSE 2018-08-22 10:53:38 -03:00
README.md Add MacOS support. 2020-07-04 09:57:49 -03:00
build.gradle Add MacOS support. 2020-07-04 09:57:49 -03:00
gradlew First commit 2018-05-28 12:39:13 -03:00
gradlew.bat First commit 2018-05-28 12:39:13 -03:00
lombok.config Adding utility methods for generating x509 certificates for testing purposes. 2020-05-22 09:31:32 -03:00
settings.gradle Add MacOS support. 2020-07-04 09:57:49 -03:00

README.md

JAVA-SPIFFE library

Coverage Status

Overview

The JAVA-SPIFFE library provides functionality to interact with the Workload API to fetch X.509 and JWT SVIDs and Bundles, and a Java Security Provider implementation to be plugged into the Java Security architecture. This is essentially an X.509-SVID based KeyStore and TrustStore implementation that handles the certificates in memory and receives the updates asynchronously from the Workload API. The KeyStore handles the Certificate chain and Private Key to prove identity in a TLS connection, and the TrustStore handles the trusted bundles (supporting federated bundles) and performs peer's certificate and SPIFFE ID verification.

This library is composed of three modules:

java-spiffe-core: core functionality to interact with the Workload API, and to process and validate X.509 and JWT SVIDs and bundles.

java-spiffe-provider: Java Provider implementation.

java-spiffe-helper: Helper to store X.509 SVIDs and Bundles in Java Keystores in disk.

Supports Java 8+

Build the JARs

On Linux or MacOS, run:

 $ ./gradlew assemble
 BUILD SUCCESSFUL 

All jar files are placed in build/libs folder.

Based on the OS, the jars will have a different classifier at the end of the jars names:

  • -linux-x86_64 for Linux
  • -osx-x86_64 for Mac OS