- route53: restore_to_original_records can have an error when querying existing record sets when it generates a name with leading empty labels (OTOH: double leading dots). #65
- order: Gains
--key-type
,--rsa-key-size
,--elliptic-curve
options to customize private key generation, and generating EC keys. #58 - autorenew: Respect the existing key configuration when regenerating a fresh key pair for renewal. #58
- Gains
chain_preferences
configuration to choose alternate chain. #47 - route53: Gains
substitution_map
to allow delegation of_acme-challenge
via predefined CNAME record. #53 - s3: Gains
endpoint
option. #52
- route53: Gains
restore_to_original_records
option. When enabled, existing record will be restored after authorizing domain names. Useful when other ACME tools or providers using ACME where requires a certain record to remain as long as possible for their renewal process (e.g. Fastly TLS).
- Fixing Docker image build has failed for the release tag. https://github.com/sorah/acmesmith/runs/665853406
-
route53: Added support of assuming IAM Role to access Route 53. (requested at #36 #37 #38)
-
Added filter for challenge responders. This allows selecting a challenge responder for specific domain names. (indirectly requested at #36 #37 #38)
challenge_responders: # Use specific IAM role for the domain "example.dev" ... - route53: assume_role: role_arn: 'arn:aws:iam:...' filter: subject_name_exact: - example.dev - manual_dns: {} filter: subject_name_suffix: - example.net # Default - route53: {}
-
config: now accepts
connection_options
andbad_nonce_retry
forAcme::Client
.
- Exported PKCS#12 were not included a certificate chain #35
- s3:
use_kms
option was not respected for certificate keys & PKCS#12. It was alwaystrue
. - A large refactoring of internal components.
- s3: Added
pkcs12_passphrase
andpkcs12_commonname
options for saving PKCS#12 file into a S3 bucket. This is for scripts which read S3 bucket directly and needs PKCS#12 file.
- route53: Private hosted zones are now ignored by default. If you really need to use such zones, specify explicitly with
hosted_zone_map
.
-
route53
couldn't create an appropriate RRSet when ACME server needs multiple authorizations for the single domain. #31(In fact, responsing could fail when ordering certificate for
*.example.org
andexample.org
to LE.)
acm
post issuing hook could fail
- It could fail when encountered a challenge type which is unsupported by
acme-client
gem
- Support ACME v2
- Drop ACME v1 support
- Challenge responder
- New
dns-01
challenge respondermanual_dns
is bundled for manual DNS intervention. - New API to allow challenge responders to respond many challenges at once, for efficiency
- Added its support to
route53
responder
- Added its support to
- New
config['endpoint']
is removed. Useconfig['directory']
to specify ACME v2 directory resource URL.- The deprecated
config['post_issueing_hook']
is removed as planned.
-
Renamed several subcommands due to the changes in ACME (v2) semantics.
acmesmith register
->acmesmith new-account
acmesmith request
->acmesmith order
The previous names remain working, but are now marked as deprecated. These will be removed in the future release.
-
Place warning for
acmesmith authorize
due to lack of implementation(At this moment, LE doesn't provide new-authz API)
(Interface of Client
class is still in beta. It's designed to be an external API, but interface are still subject to change)
-
config['endpoint']
is removed. Useconfig['directory']
to specify ACME v2 directory resource URL. -
Several renames due to the changes in ACME (v2) semantics.
Client#register
->new_account
Client#request
->order
-
Place warning for
Client#authorize
due to lack of implementation(At this moment, LE doesn't provide new-authz API)
-
Certificate#chain
now returnsArray<OpenSSL::X509::Certificate>
. UseCertificate#chain_pems
to retrieve inString
.Note: Value for
:chain
key in aHash
returned byCertificate#export
is keptString
for Storages plugin compatibility.
ChallengeResponders::Base
now allows to respond many challenges at once.- Added
#respond_all
and#cleanup_all()
method to respond many challenges. - Added
#cap_respond_all?
method to indicate a responder instance supports this capability or not. - Base class now implements
respond
,cleanup
for classes which implement only the new*_all
method.
- Added