Commit Graph

763 Commits (c08c85b95c4daa246ded3bce319c3dd85891ead2)

Author SHA1 Message Date
Richard Körber c08c85b95c
Return certificate on getAutoRenewalCertificate
Similar to getCertificate(), getAutoRenewalCertificate() would only
return an empty optional if the order state is not valid. To keep the
API simple, getAutoRenewalCertificate() now always returns a non-null
certificate, and throws an exception otherwise.
2023-05-07 09:25:22 +02:00
Richard Körber c26d6b1f8a
Optimize AssertJ exception checks 2023-05-07 09:25:04 +02:00
Richard Körber aa5e78c525
getLocation() throws if header is missing
While reviewing the code, it turned out that the invoker of
getLocation() always expected to find a location header. To keep the API
simple, getLocation() now always returns the non-null Location header.
If the header is not present, an AcmeProtocolException is now thrown
instead.
2023-05-06 17:36:16 +02:00
Richard Körber 23906ff39c
Add AcmeNotSupportedException
- Some Optional return values could only be empty if a method was
  invoked although the server did not support that feature. In order to
  keep the API simple, a newly introduced AcmeNotSupportedException is
  now thrown in that case, so these methods will immediately return a
  non-null value. There is always a method to check if a feature is
  available or not, so the invoker can check in advance and does not
  need to actively handle that exception.
- Some other places that previously threw an exception because of
  missing features, are now also throwing AcmeNotSupportedException for
  consistency.
2023-05-06 17:31:12 +02:00
Richard Körber 5bbf1b5966
getCertificate() is not Optional
getCertificate() would only return Optional.empty() if it was invoked
before the order was finalized. In order to keep the API simple, that
state will now throw an IllegalStateException, and getCertificate()
directly returns a non-null Certificate now.
2023-05-06 17:29:16 +02:00
Richard Körber 1907545e5d
Review all @Nullable return values
- Most methods now return an Optional instead of a null value
- Reviewed all Collection return values. They may now be empty, but
  never null.
2023-05-06 17:27:36 +02:00
Richard Körber 18e56c9d4f
Add Session.purgeDirectoryCache() 2023-04-29 15:15:41 +02:00
Richard Körber d0c2aafaf1
Optimize collection handling 2023-04-29 15:15:22 +02:00
Richard Körber 00830858ca
Add Login.newOrder() method 2023-04-29 15:14:51 +02:00
Richard Körber 01a2206c62
Accept mailto if present 2023-04-29 15:13:21 +02:00
Richard Körber 09a72d606b
Review and extend JavaDocs 2023-04-29 15:11:00 +02:00
Richard Körber 41bc574f75
Enhance Accept-Language header
Before this patch, it was only the language tag of the selected Locale.
Now it also offers the language itself (without the country) and any
other available language as fallback. It is also possible to set the
locale to null, which will accept any language.
2023-04-24 21:52:18 +02:00
Richard Körber b0287d4d94
Accept gzip compression 2023-04-24 21:23:58 +02:00
Richard Körber 783fdde013
Use the java.net.http client
With this patch, the old HttpURLConnection client is replaced with
the new java.net.http client that was introduced in Java 11.
2023-04-24 21:16:07 +02:00
Richard Körber d6296111f7
Use wiremock to test HTTP client 2023-04-23 22:43:18 +02:00
Richard Körber aeb68c0cb4
Remove deprecated methods 2023-04-23 13:13:27 +02:00
Richard Körber 0d55898379
Port codebase to Java 11 2023-04-23 13:13:27 +02:00
Richard Körber fdc0fb94f1
Require Java 11 or higher 2023-04-23 13:12:27 +02:00
Richard Körber 41d9855bc0
Bump to v3.0.0, adhere to SemVer 2023-04-23 08:44:21 +02:00
Richard Körber 3b4591884b
Extend FAQ 2023-04-21 12:52:49 +02:00
Richard Körber 65613afbd3
Temporarily disable blocking unit tests 2023-04-21 11:48:22 +02:00
Richard Körber 590b4e975b
[maven-release-plugin] prepare for next development iteration 2023-02-11 16:55:27 +01:00
Richard Körber 9e3a5061c8
[maven-release-plugin] prepare release v2.16 2023-02-11 16:55:27 +01:00
Richard Körber 372e39c28e
Update dependencies 2023-02-11 16:53:10 +01:00
Richard Körber db8eb4d012
Code cleanup
- Remove unused code
- Fix deprecated warnings
2023-02-11 16:45:13 +01:00
Richard Körber aae98d7ce8
Add unit tests
- Unit tests for RFC-7508 type signatures
- Unit tests for evaluation of trusted headers
2023-02-11 16:42:48 +01:00
Richard Körber 2118fb8593
Update documentation 2023-01-28 16:10:19 +01:00
Richard Körber 9bddc07ed3
Add EmailProcessor.Builder for configuring verification 2023-01-28 16:10:02 +01:00
Richard Körber 0dff988b26
Add generateResponse without mail Session 2023-01-28 16:09:05 +01:00
Richard Körber 6f0a5c8707
Enhance validation of S/MIME challenge messages [WIP]
- Fully support S/MIME header protection
- Validation of signature using cacerts, certificates or other
  trust stores
- Improved checks of protected headers

Still missing:

- Unit tests
- EmailProcessor supporting all new features
2023-01-28 13:28:28 +01:00
Richard Körber 8535bb1698
Remove JetBrains from sponsors
Thank you for the time you sponsored the Ultimate edition.
2023-01-28 13:14:38 +01:00
Richard Körber 120701494f
Fix broken README markdown 2022-11-26 12:30:31 +01:00
Richard Körber 39ddc8e837
Add reference to Mastodon feed 2022-11-26 12:23:47 +01:00
Richard Körber 861b3a1f81
[maven-release-plugin] prepare for next development iteration 2022-11-25 13:24:12 +01:00
Richard Körber 5a984bb49b
[maven-release-plugin] prepare release v2.15 2022-11-25 13:24:12 +01:00
Richard Körber 2a30d3e919
Update dependencies 2022-11-25 13:23:06 +01:00
Richard Körber ef5ca28fd9
Minor optimizations 2022-11-25 13:14:33 +01:00
Richard Körber 06e03880c9
Remove Java 9 tests from CI
Reason: There is no Temurin Java 9 on Github
2022-11-18 16:28:22 +01:00
Richard Körber e9eedb99cd
Fix broken CI 2022-11-18 16:26:26 +01:00
Richard Körber 636ccc37e0
Add support for S/MIME signature validation 2022-11-18 15:56:06 +01:00
Richard Körber 1ee68e1e09
Fix Javadoc links in the documentation 2022-11-18 15:54:42 +01:00
Richard Körber 95fd249d28
Update dependencies 2022-11-03 17:01:16 +01:00
Richard Körber cf8be5b6cf
AI based code generators are not acceptable for contributions
Reason: It cannot be excluded that copyrighted material is
added to the codebase without the appropriate license.
2022-11-03 16:38:39 +01:00
Richard Körber 109731090c
[maven-release-plugin] prepare for next development iteration 2022-06-29 20:07:57 +02:00
Richard Körber d088b30822
[maven-release-plugin] prepare release v2.14 2022-06-29 20:07:57 +02:00
Richard Körber f77426be87
Update dependencies 2022-06-29 20:03:12 +02:00
Richard Körber 379f184a41
Add generator for DNS challenge resource name 2022-06-29 20:02:52 +02:00
Richard Körber 8d9ab54782
Add methods to set attributes to SMIMECSRBuilder 2022-06-29 19:17:22 +02:00
kimmerin e851acd61d replaced assertEquals, being missed before. Added Javadoc 2022-05-25 12:33:48 +02:00
kimmerin 6ea7b30cdf removed unused import 2022-05-25 12:33:48 +02:00