Repository navigation
Added
- IP address identifiers (RFC 8738):
IdentifierType.Ip, andNewOrder,
NewOrderWithProfileandNewReplacementOrderoverloads accepting typed
Identifierlists. IP values are validated and sent in canonical form. - Certificate profile discovery through
DirectoryMeta.Profiles, selection via
NewOrderWithProfile, and the selectedOrder.Profile
(#330). Profile orders can also
include an ARI replacement certificate ID. - ACME Renewal Information (ARI, RFC 9773):
Directory.RenewalInfo,
GetRenewalInfoCertificateId()forCertificateChainandIEncodable,
GetRenewalInfo()(suggested window, explanation URL andRetry-After) and
NewReplacementOrder()extension methods onIAcmeContext, andOrder.Replaces.
Based on the proposal in #329
by @WhitWaldo. - CLI:
order new --profileand--replaces,cert renewal-info <cert-path>,
and thetls-alpnchallenge type fororder authz/order validate(with
dns-01,http-01andtls-alpn-01aliases). IP addresses passed to
order neware ordered as IP identifiers.
Changed
NewOrder,NewOrderWithProfileandNewReplacementOrderstring overloads
now send values that strictly parse as IP addresses asipidentifiers in
canonical form, instead ofdns. CAs reject IP addresses as DNS identifiers, so
previously such orders always failed.IOrderContext.Authorization(value, IdentifierType.Ip)compares IP identifiers
by address rather than by text.CertificationRequestBuilderencodes subject alternative names that are IP
addresses as IP SANs instead of DNS names, andTlsAlpnCertificatedoes the same
for its subject name.- When
CsrInfo.CommonNameis not set,Finalize/Generateuse the first DNS
name of at most 64 characters as the common name, instead of always the first
identifier. IP-only orders produce a CSR without a common name.
Fixed
- CLI:
cert pfx --helpdescribed the command as exporting PEM.
Full changelog: https://github.com/fszlin/certes/blob/v4.1.0/docs/CHANGELOG.md