gitextract_nzsxpl3o/ ├── .github/ │ ├── FUNDING.yml │ └── workflows/ │ └── ci.yml ├── .gitignore ├── .gitlab-ci.yml ├── CONTRIBUTING.md ├── LICENSE-APL.txt ├── README.md ├── acme4j-client/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ ├── .gitignore │ │ │ ├── module-info.java │ │ │ └── org/ │ │ │ └── shredzone/ │ │ │ └── acme4j/ │ │ │ ├── Account.java │ │ │ ├── AccountBuilder.java │ │ │ ├── AcmeJsonResource.java │ │ │ ├── AcmeResource.java │ │ │ ├── Authorization.java │ │ │ ├── Certificate.java │ │ │ ├── Identifier.java │ │ │ ├── Login.java │ │ │ ├── Metadata.java │ │ │ ├── Order.java │ │ │ ├── OrderBuilder.java │ │ │ ├── PollableResource.java │ │ │ ├── Problem.java │ │ │ ├── RenewalInfo.java │ │ │ ├── RevocationReason.java │ │ │ ├── Session.java │ │ │ ├── Status.java │ │ │ ├── challenge/ │ │ │ │ ├── Challenge.java │ │ │ │ ├── Dns01Challenge.java │ │ │ │ ├── DnsAccount01Challenge.java │ │ │ │ ├── DnsPersist01Challenge.java │ │ │ │ ├── Http01Challenge.java │ │ │ │ ├── TlsAlpn01Challenge.java │ │ │ │ ├── TokenChallenge.java │ │ │ │ └── package-info.java │ │ │ ├── connector/ │ │ │ │ ├── Connection.java │ │ │ │ ├── DefaultConnection.java │ │ │ │ ├── HttpConnector.java │ │ │ │ ├── NetworkSettings.java │ │ │ │ ├── NonceHolder.java │ │ │ │ ├── RequestSigner.java │ │ │ │ ├── Resource.java │ │ │ │ ├── ResourceIterator.java │ │ │ │ ├── TrimmingInputStream.java │ │ │ │ └── package-info.java │ │ │ ├── exception/ │ │ │ │ ├── AcmeException.java │ │ │ │ ├── AcmeLazyLoadingException.java │ │ │ │ ├── AcmeNetworkException.java │ │ │ │ ├── AcmeNotSupportedException.java │ │ │ │ ├── AcmeProtocolException.java │ │ │ │ ├── AcmeRateLimitedException.java │ │ │ │ ├── AcmeServerException.java │ │ │ │ ├── AcmeUnauthorizedException.java │ │ │ │ ├── AcmeUserActionRequiredException.java │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ ├── provider/ │ │ │ │ ├── AbstractAcmeProvider.java │ │ │ │ ├── AcmeProvider.java │ │ │ │ ├── ChallengeProvider.java │ │ │ │ ├── ChallengeType.java │ │ │ │ ├── GenericAcmeProvider.java │ │ │ │ ├── actalis/ │ │ │ │ │ ├── ActalisAcmeProvider.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── google/ │ │ │ │ │ ├── GoogleAcmeProvider.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── letsencrypt/ │ │ │ │ │ ├── LetsEncryptAcmeProvider.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ ├── pebble/ │ │ │ │ │ ├── PebbleAcmeProvider.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── sslcom/ │ │ │ │ │ ├── SslComAcmeProvider.java │ │ │ │ │ └── package-info.java │ │ │ │ └── zerossl/ │ │ │ │ ├── ZeroSSLAcmeProvider.java │ │ │ │ └── package-info.java │ │ │ ├── toolbox/ │ │ │ │ ├── AcmeUtils.java │ │ │ │ ├── JSON.java │ │ │ │ ├── JSONBuilder.java │ │ │ │ ├── JoseUtils.java │ │ │ │ └── package-info.java │ │ │ └── util/ │ │ │ ├── CSRBuilder.java │ │ │ ├── CertificateUtils.java │ │ │ ├── KeyPairUtils.java │ │ │ └── package-info.java │ │ ├── resources/ │ │ │ ├── .gitignore │ │ │ ├── META-INF/ │ │ │ │ └── services/ │ │ │ │ └── org.shredzone.acme4j.provider.AcmeProvider │ │ │ └── org/ │ │ │ └── shredzone/ │ │ │ └── acme4j/ │ │ │ └── provider/ │ │ │ └── pebble/ │ │ │ └── pebble.minica.pem │ │ └── resources-filtered/ │ │ └── org/ │ │ └── shredzone/ │ │ └── acme4j/ │ │ └── version.properties │ └── test/ │ ├── java/ │ │ ├── .gitignore │ │ └── org/ │ │ └── shredzone/ │ │ └── acme4j/ │ │ ├── AccountBuilderTest.java │ │ ├── AccountTest.java │ │ ├── AcmeJsonResourceTest.java │ │ ├── AcmeResourceTest.java │ │ ├── AuthorizationTest.java │ │ ├── CertificateTest.java │ │ ├── IdentifierTest.java │ │ ├── LoginTest.java │ │ ├── OrderBuilderTest.java │ │ ├── OrderTest.java │ │ ├── ProblemTest.java │ │ ├── RenewalInfoTest.java │ │ ├── SessionTest.java │ │ ├── StatusTest.java │ │ ├── challenge/ │ │ │ ├── ChallengeTest.java │ │ │ ├── Dns01ChallengeTest.java │ │ │ ├── DnsAccount01ChallengeTest.java │ │ │ ├── DnsPersist01ChallengeTest.java │ │ │ ├── Http01ChallengeTest.java │ │ │ ├── TlsAlpn01ChallengeTest.java │ │ │ └── TokenChallengeTest.java │ │ ├── connector/ │ │ │ ├── DefaultConnectionTest.java │ │ │ ├── DummyConnection.java │ │ │ ├── HttpConnectorTest.java │ │ │ ├── NetworkSettingsTest.java │ │ │ ├── ResourceIteratorTest.java │ │ │ ├── ResourceTest.java │ │ │ ├── SessionProviderTest.java │ │ │ └── TrimmingInputStreamTest.java │ │ ├── exception/ │ │ │ ├── AcmeExceptionTest.java │ │ │ ├── AcmeLazyLoadingExceptionTest.java │ │ │ ├── AcmeNetworkExceptionTest.java │ │ │ ├── AcmeNotSupportedExceptionTest.java │ │ │ ├── AcmeProtocolExceptionTest.java │ │ │ ├── AcmeRateLimitedExceptionTest.java │ │ │ └── AcmeUserActionRequiredExceptionTest.java │ │ ├── provider/ │ │ │ ├── AbstractAcmeProviderTest.java │ │ │ ├── GenericAcmeProviderTest.java │ │ │ ├── TestableConnectionProvider.java │ │ │ ├── actalis/ │ │ │ │ └── ActalisAcmeProviderTest.java │ │ │ ├── google/ │ │ │ │ └── GoogleAcmeProviderTest.java │ │ │ ├── letsencrypt/ │ │ │ │ └── LetsEncryptAcmeProviderTest.java │ │ │ ├── pebble/ │ │ │ │ └── PebbleAcmeProviderTest.java │ │ │ ├── sslcom/ │ │ │ │ └── SslComAcmeProviderTest.java │ │ │ └── zerossl/ │ │ │ └── ZeroSSLAcmeProviderTest.java │ │ ├── toolbox/ │ │ │ ├── AcmeUtilsTest.java │ │ │ ├── JSONBuilderTest.java │ │ │ ├── JSONTest.java │ │ │ ├── JoseUtilsTest.java │ │ │ └── TestUtils.java │ │ └── util/ │ │ ├── CSRBuilderTest.java │ │ ├── CertificateUtilsTest.java │ │ └── KeyPairUtilsTest.java │ └── resources/ │ ├── .gitignore │ ├── META-INF/ │ │ └── services/ │ │ └── org.shredzone.acme4j.provider.AcmeProvider │ ├── ari-example-cert.pem │ ├── cert.pem │ ├── certid-cert.pem │ ├── csr.der │ ├── domain-private.key │ ├── domain-public.key │ ├── json/ │ │ ├── authorizationChallenges.json │ │ ├── canceledOrderResponse.json │ │ ├── datatypes.json │ │ ├── deactivateAccountResponse.json │ │ ├── directory.json │ │ ├── directoryNoMeta.json │ │ ├── dns01Challenge.json │ │ ├── dnsAccount01Challenge.json │ │ ├── dnsPersist01Challenge.json │ │ ├── finalizeAutoRenewResponse.json │ │ ├── finalizeRequest.json │ │ ├── finalizeResponse.json │ │ ├── genericChallenge.json │ │ ├── httpChallenge.json │ │ ├── httpNoTokenChallenge.json │ │ ├── modifyAccount.json │ │ ├── modifyAccountResponse.json │ │ ├── newAccount.json │ │ ├── newAccountOnlyExisting.json │ │ ├── newAccountResponse.json │ │ ├── newAuthorizationRequest.json │ │ ├── newAuthorizationRequestSub.json │ │ ├── newAuthorizationResponse.json │ │ ├── newAuthorizationResponseSub.json │ │ ├── problem.json │ │ ├── renewalInfo.json │ │ ├── replacedCertificateRequest.json │ │ ├── requestAutoRenewOrderRequest.json │ │ ├── requestAutoRenewOrderResponse.json │ │ ├── requestCertificateRequest.json │ │ ├── requestCertificateRequestWithDate.json │ │ ├── requestOrderRequest.json │ │ ├── requestOrderRequestSub.json │ │ ├── requestOrderResponse.json │ │ ├── requestOrderResponseSub.json │ │ ├── requestProfileOrderRequest.json │ │ ├── requestProfileOrderResponse.json │ │ ├── requestReplacesRequest.json │ │ ├── requestReplacesResponse.json │ │ ├── revokeCertificateRequest.json │ │ ├── revokeCertificateWithReasonRequest.json │ │ ├── tlsAlpnChallenge.json │ │ ├── triggerHttpChallenge.json │ │ ├── triggerHttpChallengeRequest.json │ │ ├── triggerHttpChallengeResponse.json │ │ ├── updateAccount.json │ │ ├── updateAccountResponse.json │ │ ├── updateAuthorizationResponse.json │ │ ├── updateAuthorizationWildcardResponse.json │ │ ├── updateAutoRenewOrderResponse.json │ │ ├── updateHttpChallengeResponse.json │ │ └── updateOrderResponse.json │ ├── private.key │ ├── public.key │ └── simplelogger.properties ├── acme4j-example/ │ ├── .gitignore │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ ├── .gitignore │ │ │ ├── module-info.java │ │ │ └── org/ │ │ │ └── shredzone/ │ │ │ └── acme4j/ │ │ │ └── example/ │ │ │ └── ClientTest.java │ │ └── resources/ │ │ ├── .gitignore │ │ └── simplelogger.properties │ └── test/ │ ├── java/ │ │ └── .gitignore │ └── resources/ │ └── .gitignore ├── acme4j-it/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── docker/ │ │ │ ├── challtestsrv.dockerfile │ │ │ └── challtestsrv.sh │ │ ├── java/ │ │ │ ├── module-info.java │ │ │ └── org/ │ │ │ └── shredzone/ │ │ │ └── acme4j/ │ │ │ └── it/ │ │ │ ├── BammBammClient.java │ │ │ └── package-info.java │ │ └── resources/ │ │ └── .gitignore │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── shredzone/ │ │ └── acme4j/ │ │ └── it/ │ │ ├── ProviderIT.java │ │ ├── SoftFail.java │ │ ├── SoftFailExtension.java │ │ ├── boulder/ │ │ │ └── OrderHttpIT.java │ │ └── pebble/ │ │ ├── AccountIT.java │ │ ├── OrderIT.java │ │ ├── OrderWildcardIT.java │ │ ├── PebbleITBase.java │ │ └── SessionIT.java │ └── resources/ │ └── simplelogger.properties ├── acme4j-smime/ │ ├── .gitattributes │ ├── pom.xml │ ├── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │ ├── .gitignore │ │ │ │ ├── module-info.java │ │ │ │ └── org/ │ │ │ │ └── shredzone/ │ │ │ │ └── acme4j/ │ │ │ │ └── smime/ │ │ │ │ ├── EmailIdentifier.java │ │ │ │ ├── challenge/ │ │ │ │ │ ├── EmailReply00Challenge.java │ │ │ │ │ ├── EmailReply00ChallengeProvider.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── csr/ │ │ │ │ │ ├── KeyUsageType.java │ │ │ │ │ ├── SMIMECSRBuilder.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── email/ │ │ │ │ │ ├── EmailProcessor.java │ │ │ │ │ ├── ResponseBodyGenerator.java │ │ │ │ │ ├── ResponseGenerator.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── exception/ │ │ │ │ │ ├── AcmeInvalidMessageException.java │ │ │ │ │ └── package-info.java │ │ │ │ ├── package-info.java │ │ │ │ └── wrapper/ │ │ │ │ ├── Mail.java │ │ │ │ ├── SignedMail.java │ │ │ │ ├── SignedMailBuilder.java │ │ │ │ ├── SimpleMail.java │ │ │ │ └── package-info.java │ │ │ └── resources/ │ │ │ ├── .gitignore │ │ │ └── META-INF/ │ │ │ └── services/ │ │ │ └── org.shredzone.acme4j.provider.ChallengeProvider │ │ └── test/ │ │ ├── java/ │ │ │ ├── .gitignore │ │ │ └── org/ │ │ │ └── shredzone/ │ │ │ └── acme4j/ │ │ │ └── smime/ │ │ │ ├── EmailIdentifierTest.java │ │ │ ├── SMIMETests.java │ │ │ ├── challenge/ │ │ │ │ └── EmailReply00ChallengeTest.java │ │ │ ├── csr/ │ │ │ │ └── SMIMECSRBuilderTest.java │ │ │ ├── email/ │ │ │ │ └── EmailProcessorTest.java │ │ │ └── wrapper/ │ │ │ ├── SignedMailBuilderTest.java │ │ │ └── SignedMailTest.java │ │ └── resources/ │ │ ├── .gitignore │ │ ├── 7508-fake-ca.jks │ │ ├── 7508-valid-ca.jks │ │ ├── email/ │ │ │ ├── challenge.eml │ │ │ ├── invalid-cert-mismatch.eml │ │ │ ├── invalid-nosan.eml │ │ │ ├── invalid-protected-mail-from.eml │ │ │ ├── invalid-protected-mail-subject.eml │ │ │ ├── invalid-protected-mail-to.eml │ │ │ ├── invalid-signed-mail.eml │ │ │ ├── valid-mail-7508.eml │ │ │ └── valid-mail.eml │ │ ├── invalid-signer-privkey.pem │ │ ├── invalid-signer.pem │ │ ├── json/ │ │ │ ├── emailReplyChallenge.json │ │ │ └── emailReplyChallengeMismatch.json │ │ ├── key.pem │ │ ├── valid-signer-nosan-privkey.pem │ │ ├── valid-signer-nosan.pem │ │ ├── valid-signer-privkey.pem │ │ └── valid-signer.pem │ └── tool/ │ ├── smime-generator.py │ └── test-key-generator.sh ├── pom.xml └── src/ └── doc/ ├── docs/ │ ├── ca/ │ │ ├── actalis.md │ │ ├── google.md │ │ ├── index.md │ │ ├── letsencrypt.md │ │ ├── pebble.md │ │ ├── sslcom.md │ │ └── zerossl.md │ ├── challenge/ │ │ ├── dns-01.md │ │ ├── dns-account-01.md │ │ ├── dns-persist-01.md │ │ ├── email-reply-00.md │ │ ├── http-01.md │ │ ├── index.md │ │ └── tls-alpn-01.md │ ├── development/ │ │ ├── challenge.md │ │ ├── index.md │ │ ├── provider.md │ │ └── testing.md │ ├── example.md │ ├── faq.md │ ├── index.md │ ├── migration.md │ └── usage/ │ ├── account.md │ ├── advanced.md │ ├── connecting.md │ ├── debugging.md │ ├── errors.md │ ├── exceptions.md │ ├── index.md │ ├── order.md │ ├── persistence.md │ ├── renewal.md │ └── revocation.md ├── mkdocs.yml └── theme/ ├── breadcrumbs.html ├── css/ │ ├── font.css │ ├── theme_custom.css │ └── theme_pygments.css ├── footer.html └── main.html