Max Lambrecht
3549c666a0
Improving test coverage of core module. Some refactors to improve code quality and testability.
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-07-14 12:22:46 -03:00
Max Lambrecht
f47e48f684
Minor amendments.
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-07-09 09:12:24 -03:00
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
Max Lambrecht
db4e78616e
Minor improve to exception message.
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-07-06 10:47:27 -03:00
Max Lambrecht
e994ede993
Add MacOS support.
...
Amendments in javadocs.
Other minor changes.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-07-04 09:57:49 -03:00
Max Lambrecht
fee4cc1b91
Add reference to JWT third library.
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-07-02 15:42:47 -03:00
Max Lambrecht
35e85cee99
Minor refactors and documentation clarifying the watch methods in WorkloadApiClient.
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-07-02 11:39:02 -03:00
Max Lambrecht
58b36687b9
Refactor: extract WorkloadApiClient interface. Improving code and testing.
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-07-01 13:29:41 -03:00
Max Lambrecht
9e592c1d36
Adding validation in ExponentialBackoffPolicy to prevent overflows
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-07-01 09:51:21 -03:00
Max Lambrecht
7b61cb8c47
Addressing PR comments:
...
- refactors to replace strings by enums
- improve code readability
- add and clarify documentation
- improve and fix logic in spiffe id parsing
- rename classes
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-30 14:19:07 -03:00
Max Lambrecht
167efbac89
Fixing typos
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-29 13:41:08 -03:00
Max Lambrecht
cabcb56134
Add volatile to closed flags
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-29 12:06:33 -03:00
Max Lambrecht
14fbae8fa2
Refactoring WorkloadApiClient to reduce complexity.
...
Addressing code style issues.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-26 15:34:25 -03:00
Max Lambrecht
7268c54a28
Fixing checkstyle issues.
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-26 14:55:54 -03:00
Max Lambrecht
3e81bee7ff
Fixing checkstyle issues.
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-26 13:23:53 -03:00
Max Lambrecht
81584a90fb
Refactoring and completing javadocs.
...
Rename property to improve clarity.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-24 15:14:16 -03:00
Max Lambrecht
7d11db4944
Addressing PR comments:
...
- refactor methods for creating JwtSource and X509Source instances
- completing and clarifying javadocs
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-24 14:09:19 -03:00
Max Lambrecht
0005bd5a1c
Addressing PR comments:
...
- rename enum to improve clarity
- add missing validations to socket address parsing
- add test scenarios for address parsing
- improve Address javadoc to use the language of the SPIFFE spec
- some minor refactors
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-24 11:43:53 -03:00
Max Lambrecht
96d660ad3a
Refactor string literals by enum.
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-23 19:12:29 -03:00
Max Lambrecht
48aa4e6308
Removing SpiffeId and TrustDomain limit validations.
...
Improving javadocs.
Removing unused code.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-23 15:00:59 -03:00
Max Lambrecht
c5f85756fc
Making JWT and X509 SVID entities unmodifiable.
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-23 12:57:26 -03:00
Max Lambrecht
cbca3a1ec2
Refactor extracting methods to improve readability.
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-23 12:46:11 -03:00
Max Lambrecht
5221f838eb
Amendments in javadocs and README.
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-23 11:28:51 -03:00
Max Lambrecht
ca5511eb91
Addressing PR comments:
...
- refactor acceptedSpiffeIds from List to Set
- refactor tests
- renaming methods to improve clarity
- amendments in javadocs
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-23 11:26:00 -03:00
Max Lambrecht
dbfb09f0f8
Refactor private key algorithm parameter. Create enum.
...
Other minor changes.
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-23 09:25:59 -03:00
Max Lambrecht
4e1d0fb8c8
Fix trust domain host validation.
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-22 16:28:52 -03:00
Max Lambrecht
7d3adfe7cf
Rename enum and add comment.
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-22 16:18:59 -03:00
Max Lambrecht
c92c90e7ea
Addressing PR comments:
...
- replace private key format and algorithm guessing by parameters
- refactor a few ifs to switch case
- add spiffeid and trust domain validations and tests
- remove all imports wildcards
- other minor changes to improve quality
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-22 16:08:17 -03:00
Max Lambrecht
538be3fa09
Minor typo fix.
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-19 17:34:15 -03:00
Max Lambrecht
fbbf17d0a3
Minor typo and grammar fixes.
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-19 15:14:30 -03:00
Max Lambrecht
57076ef4f5
java-spiffe-provider: Code style improvements.
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-19 14:32:32 -03:00
Max Lambrecht
48564f1193
java-spiffe-core: Code style improvements.
...
Signed-off-by: Max Lambrecht <maxlambrecht@gmail.com>
2020-06-19 11:58:21 -03:00
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