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
41d9855bc0
Bump to v3.0.0, adhere to SemVer
2023-04-23 08:44:21 +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
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
95fd249d28
Update dependencies
2022-11-03 17:01:16 +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
379f184a41
Add generator for DNS challenge resource name
2022-06-29 20:02:52 +02:00
Richard Körber
a25b8c1b8d
Use Assertj instead of Hamcrest
2022-05-14 12:39:27 +02:00
Richard Körber
f3c7e8a46c
Upgrade all tests to JUnit 5
2022-05-14 12:24:21 +02:00
Richard Körber
edf2018433
[maven-release-plugin] prepare for next development iteration
2022-05-09 17:16:05 +02:00
Richard Körber
768fd68bcc
[maven-release-plugin] prepare release v2.13
2022-05-09 17:16:05 +02:00
Richard Körber
00ee9e4dd5
Use assertThrows instead of try/fail constructs
2022-05-07 11:25:59 +02:00
Richard Körber
cf0bfc1390
Prefetch from certificate stream ( fixes #127 )
...
Works around a bug in Conscrypt. The certificate stream is not read
there if InputStream.available() returns 0, which is the case in acme4j
since the stream is directly read from the CA via HTTP.
The workaround uses a BufferedInputStream and prefetches a few bytes
from the HTTP stream if available() is invoked.
2022-05-07 11:15:16 +02:00
Richard Körber
cc8cc841c1
[maven-release-plugin] prepare for next development iteration
2021-07-03 11:19:53 +02:00
Richard Körber
8cb2468060
[maven-release-plugin] prepare release v2.12
2021-07-03 11:19:53 +02:00
Richard Körber
2f2e59fd36
Permit to globally register additional challenge types
2021-07-03 10:04:27 +02:00
Richard Körber
a3ed2257b6
Add new method to bind to a specified challenge type
2021-07-03 09:53:09 +02:00
Richard Körber
78dfe248b2
[maven-release-plugin] prepare for next development iteration
2020-11-12 22:40:25 +01:00
Richard Körber
bfafb5655a
[maven-release-plugin] prepare release v2.11
2020-11-12 22:40:25 +01:00
Richard Körber
3cf73e9f5c
Add method to get a list of alternate certificates
2020-11-12 22:39:24 +01:00
Richard Körber
ae37fe9004
Minor optimizations
2020-10-24 19:42:20 +02:00
Richard Körber
2cff3a5c90
Review all unit tests
...
- Replace deprecated org.junit.Assert.assertThat by org.hamcrest.MatcherAssert.assertThat
- Other minor checkstyle fixes
2020-10-24 18:05:06 +02:00
Richard Körber
c5eba760f6
[maven-release-plugin] prepare for next development iteration
2020-08-02 17:13:29 +02:00
Richard Körber
0bc1a004dc
[maven-release-plugin] prepare release v2.10
2020-08-02 17:13:28 +02:00
Richard Körber
8c17ae730c
Checkstyle fixes
2020-08-02 17:06:08 +02:00
Richard Körber
610b9366bd
Add module-info definitions, fix related issues
2020-06-02 14:08:20 +02:00
Richard Körber
b32f03b23a
Replace JSR305 null-safe annotations by SpotBugs annotations
...
Reason is that JSR305 annotations cannot be used in a modular environment due to split package issues.
2020-06-02 14:08:20 +02:00
Richard Körber
6dec97d8a4
Evaluate HTTP caching headers for directory resource
...
Until now, acme4j has cached the directory for 1 hour. This could lead to errors if the directory was changed, or the server was down for maintenance. Now acme4j caches the directory resource according to the HTTP Expires or Modified-Since headers.
2020-05-24 11:05:07 +02:00
Richard Körber
1eb3965ac0
Verbose exception when getOrders is not supported by the server
2020-04-30 19:35:37 +02:00
Richard Körber
355a00b293
[maven-release-plugin] prepare for next development iteration
2020-03-22 22:24:55 +01:00
Richard Körber
75a9b8a2ea
[maven-release-plugin] prepare release v2.9
2020-03-22 22:24:55 +01:00
Richard Körber
908da9697d
tls-alpn-01 and IP identifier extension got RFC numbers
2020-03-06 00:32:45 +01:00
Richard Körber
9d62cb6a55
Support acme-star-09 draft, change API and documentation
2020-01-23 23:26:48 +01:00
Richard Körber
5647d0c319
[maven-release-plugin] prepare for next development iteration
2019-12-07 16:21:26 +01:00
Richard Körber
85a4091ab7
[maven-release-plugin] prepare release v2.8
2019-12-07 16:21:25 +01:00
Richard Körber
925a116a38
Migrate docs to mkdocs
2019-12-07 14:27:33 +01:00
Richard Körber
8aa7e4ad8e
Throw AcmeLazyLoadingException on bindChallenge
2019-10-30 22:32:04 +01:00
Richard Körber
e7c2bf25f5
Add a way to change network timeouts
2019-10-30 22:31:21 +01:00
Richard Körber
2215bfe83d
Expect JSON results to be always present
...
This saves an unnecessary and annoying null dereference check.
2019-10-27 14:47:23 +01:00
Anders Mikkelsen
0b1e512a57
implemented bindChallenge
2019-10-27 13:47:49 +01:00
Richard Körber
0343a81a9f
Add a mock framework
2019-06-20 14:41:50 +02:00
Richard Körber
210b2aa453
Return external account binding key identifier
2019-04-28 17:34:30 +02:00
Richard Körber
d02746156d
Checkstyle fixes
2019-04-28 12:19:57 +02:00
Richard Körber
c19a6ad1a4
Fix possible NPE
2019-04-27 17:37:03 +02:00
Richard Körber
576a798186
Use correct rate limit link relation name
2019-04-26 09:05:57 +02:00
Richard Körber
efc4a04df4
Throw the original bad nonce exception
2019-04-26 09:04:47 +02:00
Richard Körber
c0d6bfb057
Return JSON data as Map
2019-04-26 09:03:44 +02:00
Richard Körber
9a22a74429
Session accepts a provider instance
2019-04-26 09:03:27 +02:00
Richard Körber
396ddd7c86
Add remark that findChallenge(String) is not type safe
2019-04-17 14:42:27 +02:00
Richard Körber
9870f44cbf
Also find challenges by class type
2019-04-07 11:12:29 +02:00
Richard Körber
72a716bafd
Use consistent exceptions, remove unneccessary throws clause
2019-04-07 10:46:17 +02:00
Richard Körber
31409a3872
[maven-release-plugin] prepare for next development iteration
2019-03-24 15:41:38 +01:00
Richard Körber
f799a2e5de
[maven-release-plugin] prepare release v2.7
2019-03-24 15:41:38 +01:00
Richard Körber
542b50b741
Code cleanup
2019-03-24 13:52:45 +01:00
Richard Körber
a1db2fa29b
Move JOSE related methods into an utility class
2019-03-24 13:40:13 +01:00
Richard Körber
d6b53b0bbd
Use base64 URL encoding in unit tests
2019-03-24 13:27:56 +01:00
Richard Körber
e689f7373d
Use Java's own base64 decoder and encoder
2019-03-17 17:36:56 +01:00
Richard Körber
710d2ca948
Accept String IP for convenience
2019-03-16 16:58:30 +01:00
Richard Körber
0afee7a9e8
Add acme-star's recurrent-certificate-predate field
2019-03-16 16:53:14 +01:00
Richard Körber
bfb2bc325d
Remove IDE generated files
2019-03-16 16:42:22 +01:00
Richard Körber
9941de6fc9
Add automatic-module-name
2019-01-31 00:43:11 +01:00
Richard Körber
0c6843ddd7
[maven-release-plugin] prepare for next development iteration
2019-01-26 13:29:40 +01:00
Richard Körber
6a3db93493
[maven-release-plugin] prepare release v2.6
2019-01-26 13:29:40 +01:00
Richard Körber
c0c6d1a13a
Use official pebble docker image
2019-01-19 00:14:24 +01:00
Richard Körber
62d2e9c1c0
Support draft-ietf-acme-star-04
2019-01-12 18:11:38 +01:00
Richard Körber
9d3ab4972c
Validate challenge tokens before use
2019-01-12 16:28:07 +01:00
Richard Körber
1e50669999
Accept all host names when accessing Pebble
2019-01-12 15:08:21 +01:00
Richard Körber
cda0f4284b
Revocate when only the account key and certificate is available
2019-01-12 13:59:19 +01:00
Richard Körber
d9e52fe59a
[maven-release-plugin] prepare for next development iteration
2018-11-12 17:18:24 +01:00
Richard Körber
e8160bd8ec
[maven-release-plugin] prepare release v2.5
2018-11-12 17:18:24 +01:00
Richard Körber
0c7aa2be1b
Remove pre-draft-15 compatibility code
2018-11-01 12:50:31 +01:00
Richard Körber
45ddd96e3e
Fix hamcrest deprecation warnings
2018-11-01 12:37:55 +01:00
Richard Körber
05841101fe
[maven-release-plugin] prepare for next development iteration
2018-10-13 10:45:11 +02:00
Richard Körber
d0b38e22f3
[maven-release-plugin] prepare release v2.4
2018-10-13 10:45:11 +02:00
Richard Körber
158e0c8415
Use POST-as-GET for account updates
2018-10-10 21:58:54 +02:00
Richard Körber
724537f54b
Fix javadoc
2018-09-27 18:33:13 +02:00
Richard Körber
a8a9bb4ebf
Remove deprecated methods (as announced)
2018-09-26 20:03:48 +02:00
Richard Körber
33db1c2186
Add postasget parameter to generic acme URI
2018-09-26 19:30:33 +02:00
Richard Körber
01398e1bbc
Pass serverUri to provider's connect() method
2018-09-26 19:30:04 +02:00
Richard Körber
bb35678c2d
Boulder needs a pre-draft-15 compatibility mode
2018-09-26 19:27:41 +02:00
Richard Körber
1297ca4de2
Send POST-as-GET requests
2018-09-26 19:24:20 +02:00
Richard Körber
5098b5364b
Send Accept header when requesting a certificate
2018-09-21 00:00:19 +02:00
Richard Körber
ea2dedbbba
[maven-release-plugin] prepare for next development iteration
2018-09-03 22:45:26 +02:00
Richard Körber
bb30ea8feb
[maven-release-plugin] prepare release v2.3
2018-09-03 22:45:26 +02:00
Richard Körber
d0d93b855a
Support the acme-star extension
2018-08-22 18:39:13 +02:00
Richard Körber
f609a797cb
Checkstyle fixes
2018-08-22 18:14:40 +02:00
Richard Körber
a8047704aa
Fix syntax error in test JSON
2018-08-22 17:48:00 +02:00
Richard Körber
bd485c23ef
Fix deprecated warnings
2018-08-22 17:47:47 +02:00
Richard Körber
95614e73c5
Changes for latest draft-ietf-acme-tls-alpn
2018-08-22 17:44:47 +02:00
Richard Körber
1cffd3428d
Support the acme-ip draft
2018-08-20 23:36:38 +02:00
Richard Körber
9e4ba4fcb1
Allow to pre-authorize and order Identifier objects
2018-08-20 23:09:41 +02:00
Richard Körber
3689ab5e5e
Support more identifier types
2018-08-20 23:07:07 +02:00
Richard Körber
57b050c868
Remove unused imports
2018-08-20 22:56:22 +02:00
Dmitriy Dumanskiy
ff57bc224d
IDE warnings fixes
2018-08-09 19:00:37 +02:00
Alexandr Dolgov
2370749e16
Log HEAD request and its headers
2018-08-01 09:56:27 +05:00
Dmitriy Dumanskiy
cbc202ea14
#65 Added AccountBuilder.addEmail method
2018-07-29 17:34:08 +03:00
Richard Körber
a0e481eedc
Also validate contacts on EditableAccount
2018-07-29 15:45:25 +02:00
Richard Körber
f0000b9824
Change account key roll-over as described in draft 13
2018-07-29 12:51:10 +02:00
Richard Körber
0de4181848
[maven-release-plugin] prepare for next development iteration
2018-07-15 15:26:38 +02:00
Richard Körber
c1dee451e7
[maven-release-plugin] prepare release v2.2
2018-07-15 15:26:38 +02:00
Richard Körber
6be3f5ef4f
[maven-release-plugin] prepare for next development iteration
2018-04-18 23:25:53 +02:00
Richard Körber
274cfc9a63
[maven-release-plugin] prepare release v2.1
2018-04-18 23:25:52 +02:00
Richard Körber
4d8d951a6b
Note that some lists have no specific order
2018-04-17 22:48:16 +02:00
Richard Körber
568438a1f3
Add support for tls-alpn-01 challenge
2018-04-17 00:35:26 +02:00
Richard Körber
cd7038a7fa
Send kid instead of jwk when revoking a cert (fixes issue #62 )
2018-04-16 19:40:34 +02:00
Richard Körber
ee291da06b
Note that wildcard domains cannot be pre-authorized
2018-04-16 19:40:13 +02:00
Richard Körber
7a1136ec2a
Use GenericProvider without ClassLoader
2018-03-27 22:17:27 +02:00
Richard Körber
aa04ade9bb
Document a missing Authorization state
2018-03-27 22:12:16 +02:00
Richard Körber
efb0b9d2f8
Document change of terms of service
2018-03-21 23:14:23 +01:00
Richard Körber
3f901e9e18
Strip empty lines from downloaded cert chains
...
This fixes the "insufficient data" issue on IBMs crypto implementation.
2018-03-21 23:14:08 +01:00
Richard Körber
2ac4e7b7fb
Restore "Do not send authorization with challenge"
...
Also set Pebble to strict mode.
This reverts commit cdab2b8bd0
.
2018-03-18 13:55:59 +01:00
Richard Körber
3cd74220dd
Restore syntax highlighting in documentation
2018-03-18 13:42:51 +01:00
Richard Körber
7093fe7e92
Add JSR305 annotations
...
Also fix FindBugs errors about possible null pointer dereferences.
Null-aware languages like Kotlin can now enjoy null-checks.
2018-03-18 13:25:25 +01:00
Richard Körber
4de82be5f3
JSON getters never return null
2018-03-17 18:18:44 +01:00
Richard Körber
a8d3f86f85
[maven-release-plugin] prepare for next development iteration
2018-03-13 23:40:55 +01:00
Richard Körber
14484b9fc9
[maven-release-plugin] prepare release v2.0
2018-03-13 23:40:54 +01:00
Richard Körber
7cfcbc99b6
Handle empty JSON responses
2018-03-13 23:15:19 +01:00
Richard Körber
44a036a858
Review status documentation
2018-03-10 15:22:23 +01:00
Richard Körber
323788dfdb
SpotBugs fix
2018-03-10 15:21:53 +01:00
Richard Körber
49677d8dbc
Add support for Proxy connections
2018-03-06 22:11:05 +01:00
Richard Körber
b4374dbf6d
Add support for wildcard flag
2018-03-06 22:10:55 +01:00
Richard Körber
09abb23599
Add SpotBugs and fix reported issues
2018-03-06 22:10:18 +01:00
Richard Körber
69a23e7bf6
Avoid unnecessary de/encoding of nonces
2018-03-06 22:10:08 +01:00
Richard Körber
1972d52bed
Review documentation, update to ACME v2
2018-02-21 20:04:59 +01:00
Richard Körber
dadaf2493f
Separate Login from Session
...
This involves a lot of refactoring and some API changes. However, it allows to clean up some parts of the code that I always considered ugly.
2018-02-21 20:01:51 +01:00
Richard Körber
a111187245
Relax HTTP status handling
2018-02-21 19:59:01 +01:00
Richard Körber
0d42089318
Return nonce header
2018-02-21 19:58:50 +01:00
Richard Körber
b690e0ab45
Session contains account location instead of abstract key identifier
2018-02-21 19:56:59 +01:00
Richard Körber
431a5cf313
Update dependencies
2018-02-12 15:29:26 +01:00
Richard Körber
137c2c7dd0
Remove tls-sni-02 challenge
2018-01-23 18:03:55 +01:00
Richard Körber
472f1497db
Change challenge errors to error
2018-01-20 13:19:30 +01:00
Robert Kästel
f42e783760
Remove code that replaces account key kid with external account binding
...
kid after the external account binding process is done.
Relevant discussion on IETF ACME mailing list: https://mailarchive.ietf.org/arch/search/?email_list=acme&gbt=1&index=_j_xfYp9rlLeAtOWtSuQ-UtX3k0
2018-01-16 11:24:03 +01:00
Richard Körber
f37b14b55c
Add test for a missing branch
2018-01-14 14:42:09 +01:00
Richard Körber
e528cad215
Minor code cleanup
2018-01-14 14:41:44 +01:00
Richard Körber
1eb56ed8d6
Move generic challenge generation to AbstractAcmeProvider
2018-01-14 14:18:39 +01:00
Richard Körber
3f8299c004
Rename respond method to prepareResponse
2018-01-14 14:16:29 +01:00
Richard Körber
8923e35d21
Challenge constructor requires JSON data
2018-01-14 14:16:20 +01:00
Richard Körber
252d886b3f
Refactor ACME resource classes
...
A new AcmeJsonResource takes care of fetching and keeping the resource state.
A lot of boilerplate code could be removed that way.
2018-01-14 14:07:25 +01:00
Richard Körber
816f0825c0
Get a JSON Value as Optional
...
This enables further filtering and mapping of a JSON Value.
2018-01-14 13:22:49 +01:00
Richard Körber
9a483fd4d1
Remove authorize method from challenges
2018-01-14 13:15:56 +01:00
Richard Körber
70d089c94d
Use Pebble minica in truststore
2018-01-13 13:51:50 +01:00
Richard Körber
ae7e0da342
Bump to version 2.0, to emphasize the relation to ACMEv2
2018-01-07 22:49:52 +01:00