Commit Graph

115 Commits

Author SHA1 Message Date
Max Lambrecht f967aa81a6 Fixing javadoc related warnings.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-18 11:29:39 -03:00
Max Lambrecht db57253657 Add javadoc and source jars generation. Fixing errors and warnings.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-18 11:03:06 -03:00
Max Lambrecht 2153452545 Rename root package to 'io.spiffe'.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-18 10:18:08 -03:00
Max Lambrecht e124009250 Minor amendments in javadoc comments.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-15 13:47:43 -03:00
Max Lambrecht d00c6072bf Adding and improving javadocs. Removing unused code.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-15 11:18:16 -03:00
Max Lambrecht f3b2a411fc Addressing PR comments: improving names, javadoc amendments, code refactors.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-15 10:18:48 -03:00
Max Lambrecht 5c1d2762e7 Add javax.annotation-api dependency as workaround for Java 11+ versions.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-13 14:48:33 -03:00
Max Lambrecht 53244bb499 Addressing PR comments: replacing grpc netty dependencies by the recommended grpc-netty-shaded.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-13 13:15:26 -03:00
Max Lambrecht 874c7a5a88 Adding configuration for accepting any SPIFFE ID.
Amend X509 wordings.
Adding documentation in README.
Improvements.

Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-12 15:59:08 -03:00
Max Lambrecht 46d6fc0ade Fix code issues.
Improve README.

Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-12 08:06:07 -03:00
Max Lambrecht df234b5255 minor readme amendments
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-11 17:14:10 -03:00
Max Lambrecht 00eb86949f Addressing PR comments.
Adding documentation.
Amendments in READMEs and javadoc comments.
Some refactors to improve code and clarity.

Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-11 17:09:55 -03:00
Max Lambrecht 6d42e48861 Add all supported java versions to travis build.
Extract common string versions to constants in build.gradle.
Update some dependency version.

Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-11 11:35:34 -03:00
Max Lambrecht af2ee3d27b Move modules versions to a single parent version to simplify versioning.
Add gradle task to copy generated jars artifacts to a common folder.
Add travis config to deploy the jars.

Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-10 14:43:13 -03:00
Max Lambrecht 91eb49bd8e Update grpc, netty and jwt-jose dependencies
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-09 14:01:07 -03:00
Max Lambrecht ea0d363c68 Refactor BundleSource interfaces to have a single parameterized interface for both X509 and JWT bundles.
Minor code improvements.

Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-08 14:56:51 -03:00
Max Lambrecht d68c17caaa Moving class to avoid circular references.
Rename type parameters.
Improve readability.

Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-08 14:37:02 -03:00
Max Lambrecht 28ad4c0c0c Improve Private and Public Keys verification.
Add tests for keys verification.
Resolve TODO in interface documentation.

Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-08 14:01:37 -03:00
Max Lambrecht cf761c5bdf Java Spiffe Helper implementation
Refactors
Tests
README improvements

Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-04 10:19:19 -03:00
Max Lambrecht 5b27a2fc86 Implementing
- JWT functionality in Workload API client.
- JWT Source.
- Fake Workload API.

Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-28 11:16:01 -03:00
Max Lambrecht cd64eb7966 Adding test to cover EC private key generation.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-22 09:53:30 -03:00
Max Lambrecht ef2cdafab9 Adding utility methods for generating x509 certificates for testing purposes.
Adding jacoco test coverage report plugin.
Adding and improving tests for X509SvidValidator and CertificateUtils.

Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-22 09:31:32 -03:00
Max Lambrecht ef4dbf86c5 Adding tests for BackoffPolicy and RetryHandler.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-20 15:14:19 -03:00
Max Lambrecht 0853442026 Adding tests.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-20 14:09:30 -03:00
Max Lambrecht 87c8aadeba Refactoring Algorithm and Family as enums.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-20 13:51:10 -03:00
Max Lambrecht 21514c7a16 Renaming Algorithm class
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-20 13:23:39 -03:00
Max Lambrecht e160708d4e Refactoring JWT SVID and bundle.
Replace JWT library using nimbus for both JWT and JOSE bundles.
Refactoring tests
Adding tests for improving coverage.

Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-20 13:17:19 -03:00
Max Lambrecht 8c5384ee3b Implementing JWT bundle and bundle set.
Refactors to X509 bundle and set.
Adding tests.
Adding library for processing JOSE JWK bundles.

Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-19 13:07:07 -03:00
Max Lambrecht a203cf450f Avoid warning Unknown channel option 'SO_KEEPALIVE' on Mac
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-18 13:58:33 -03:00
Max Lambrecht a58aa9925b Avoid warning Unknown channel option 'SO_KEEPALIVE'
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-18 12:51:02 -03:00
Max Lambrecht 11d00e191c Adding tests to improve coverage for X509Svid, X509SvidValidator, X509BundleSet, SpiffeId, JwtSvid.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-18 12:11:47 -03:00
Max Lambrecht fa50d55dd0 Change exception thrown by validation method and adding tests
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-18 09:00:54 -03:00
Max Lambrecht ec681cbf99 Add defensive copy to prevent vulnerability
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-17 09:54:43 -03:00
Max Lambrecht 3ef62e0812 Adding and refactoring tests
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-17 09:42:19 -03:00
Max Lambrecht 5abd112c58 X509 SVID: adding validations and tests
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-16 14:10:33 -03:00
Max Lambrecht 8d9bbc065a JWT SVID implementation
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-16 07:52:32 -03:00
Max Lambrecht 12329d924d Adding method to TrustDomain and test
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-13 11:08:25 -03:00
Max Lambrecht 588da2cd55 Adding documentation
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-08 09:44:53 -03:00
Max Lambrecht 6565ea1029 Minor change
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-08 08:02:08 -03:00
Max Lambrecht 19bf9730b7 Remove unnecessary method
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-08 07:58:38 -03:00
Max Lambrecht f8a176dc20 Change method name to improve clarity.
Fix build warning.

Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-08 07:36:03 -03:00
Max Lambrecht 4e35b003fc Update workload.proto.
Validate that the X.509 context has both the svid and the bundles in the X509 context watcher.

Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-06 15:56:57 -03:00
Max Lambrecht 8de0b766ab Adding extra method to create X509 source, improving some javadoc comments.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-06 15:36:12 -03:00
Max Lambrecht 29daad1c5b Adding timeout to X509Source new method.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-06 11:16:20 -03:00
Max Lambrecht 8027b39298 Minor change: making field final
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-04 08:59:48 -03:00
Max 89380590b8 Configure workload api client and netty channel with the ExecutorService and shutdown the underlying channel properly.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-04 08:56:58 -03:00
Max Lambrecht b0bac0c29a Setting the defaults for the BackoffPolicy in the builder constructor
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-01 08:44:46 -03:00
Max Lambrecht 30c0ddb5e2 Minor fix in method signature
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-05-01 06:52:42 -03:00
Max 7d12743fb5 Adding backoff retry to watchX509Context.
Changing X509ContextException and X509ContextException to make them checked.
Address multiple PR comments.
Adding tests to Address and TrustDomain.

Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-04-30 09:33:46 -03:00
Max 8e64bb63a0 Improve methods to avoid unnecessary extra get operation
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-04-28 12:26:08 -03:00
Max Lambrecht 96b27c8277 Amending names and comments
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-04-27 06:47:28 -03:00
Max Lambrecht 571dd3c5d4 Minor change in logging
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-04-27 06:32:33 -03:00
Max Lambrecht c26f0339a6 Delete unused classes
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-04-27 06:18:03 -03:00
Max Lambrecht bf6053c18c Process federated bundles from X509Context update
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-04-26 16:31:04 -03:00
Max Lambrecht ecabc0f288 Minor fixes
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-04-26 15:16:11 -03:00
Max Lambrecht 44cda6e809 Refactor error handling: use Exceptions instead of Result wrapper type
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-04-26 13:58:21 -03:00
Max Lambrecht 8e06cb12d7 Refactor: changing name jwtKeys and x509Roots by jwtAuthorities and x509Authorities
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-04-23 11:42:18 -03:00
Max Lambrecht 928b075661 Moving and cleaning dependencies
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-04-23 07:39:55 -03:00
Max Lambrecht 219a2e2e71 Refactoring SSL Context factory. Refactoring WorkloadAPIClient and X509Source
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-04-22 10:01:55 -03:00
Max Lambrecht 2cccc1c988 Refactoring Results in multiple methods. Refactoring the X509Source config.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-04-21 13:01:26 -03:00
Max Lambrecht 15978d8313 Add comments to provide more details about the X509Source
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-04-20 12:14:35 -03:00
Max Lambrecht 07169bf411 Add Exception to error result
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-04-20 11:49:45 -03:00
Max Lambrecht 5eb49938ba Make FetchJwtSvid return a Result
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-04-20 11:26:50 -03:00
Max Lambrecht 3e05e37b10 Changing return value from Optional to Result. Other refactors. Improving comments.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-04-20 10:56:36 -03:00
Max Lambrecht 43f9d79e8c [WIP]-Define v2 interface, refactor in modules
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-04-10 14:21:27 -03:00