Class LetsEncryptTLSCertCAProvider
java.lang.Object
com.sankcrm.erp.apisix.letsencrypt.LetsEncryptTLSCertCAProvider
- All Implemented Interfaces:
TLSCertCAProvider
@AutoService(TLSCertCAProvider.class)
public class LetsEncryptTLSCertCAProvider
extends Object
implements TLSCertCAProvider
Let's Encrypt CA供应方
- Since:
- 3.1.6
- Author:
- zhsxin
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classOpaque ACME handle payload.Nested classes/interfaces inherited from interface com.sankcrm.erp.apisix.infrastructure.tlscert.ca.TLSCertCAProvider
TLSCertCAProvider.Utils -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected KeyPairaccountKeyPair(TLSCertCA tlsCertCA, LetsEncryptTLSCertCASecret secret) protected PathaccountKeyPath(TLSCertCA tlsCertCA) apply(TLSCertCA tlsCertCA, TLSCertCAApplyRequest request) 申请证书订单。protected Stringprotected StringchainPem(List<X509Certificate> certificates) protected org.shredzone.acme4j.challenge.Challengeprotected List<TLSCertCAChallenge> challenges(org.shredzone.acme4j.Order order, List<TLSCertCAChallengeType> challengeTypes) protected voidprotected voidcheckChallengeTypes(List<String> domains, List<TLSCertCAChallengeType> challengeTypes) Class<? extends TLSCertCASecret> confType()protected com.sankcrm.erp.common.sensitive.SecretKeyprotected KeyPairdomainKeyPair(String keyAlgorithm) download(TLSCertCA tlsCertCA, TLSCertCADownloadRequest request) 下载证书。protected Stringprotected voidprotected voidexecuteCsr(org.shredzone.acme4j.Order order, com.sankcrm.erp.common.sensitive.SecretKey csrPem) finalize(TLSCertCA tlsCertCA, TLSCertCAFinalizeRequest request) 完成证书订单。protected LetsEncryptTLSCertCAProvider.AcmeHandleprotected Stringprotected com.sankcrm.erp.common.exception.CoreRuntimeExceptionprotected KeyPairkeyPair(com.sankcrm.erp.common.sensitive.SecretKey key) protected com.sankcrm.erp.common.sensitive.SecretKeykeyPairPem(KeyPair keyPair) protected org.shredzone.acme4j.Loginlogin(TLSCertCA tlsCertCA, LetsEncryptTLSCertCASecret secret) protected org.shredzone.acme4j.Orderprotected Stringpem(X509Certificate certificate) provider()CA描述renew(TLSCertCA tlsCertCA, TLSCertCARenewRequest request) 续期证书订单。protected intrsaKeySize(String algorithm) protected LetsEncryptTLSCertCASecretprotected LetsEncryptTLSCertCASecretsecret(TLSCertCASecret secret) protected Stringstatus(org.shredzone.acme4j.Status status) protected Durationprotected TLSCertCAChallengetoChallenge(org.shredzone.acme4j.challenge.Challenge challenge, String domain) protected TLSCertCAOrdertoOrder(org.shredzone.acme4j.Order order, List<TLSCertCAChallengeType> challengeTypes) validate(TLSCertCA tlsCertCA, TLSCertCAValidateRequest request) 触发并等待验证。
-
Constructor Details
-
LetsEncryptTLSCertCAProvider
public LetsEncryptTLSCertCAProvider()
-
-
Method Details
-
provider
Description copied from interface:TLSCertCAProviderCA描述- Specified by:
providerin interfaceTLSCertCAProvider- Returns:
- TLSCertProviderDesc
-
confType
- Specified by:
confTypein interfaceTLSCertCAProvider
-
apply
public TLSCertCAOrder apply(TLSCertCA tlsCertCA, TLSCertCAApplyRequest request) throws com.sankcrm.erp.common.exception.CoreException Description copied from interface:TLSCertCAProvider申请证书订单。- Specified by:
applyin interfaceTLSCertCAProvider- Parameters:
tlsCertCA- TLS证书CArequest- 申请请求- Returns:
- 证书订单
- Throws:
com.sankcrm.erp.common.exception.CoreException- 申请异常
-
renew
public TLSCertCAOrder renew(TLSCertCA tlsCertCA, TLSCertCARenewRequest request) throws com.sankcrm.erp.common.exception.CoreException Description copied from interface:TLSCertCAProvider续期证书订单。- Specified by:
renewin interfaceTLSCertCAProvider- Parameters:
tlsCertCA- TLS证书CArequest- 续期请求- Returns:
- 证书订单
- Throws:
com.sankcrm.erp.common.exception.CoreException- 续期异常
-
validate
public TLSCertCAOrder validate(TLSCertCA tlsCertCA, TLSCertCAValidateRequest request) throws com.sankcrm.erp.common.exception.CoreException Description copied from interface:TLSCertCAProvider触发并等待验证。- Specified by:
validatein interfaceTLSCertCAProvider- Parameters:
tlsCertCA- TLS证书CArequest- 验证请求- Returns:
- 最新证书订单
- Throws:
com.sankcrm.erp.common.exception.CoreException- 验证异常
-
finalize
public TLSCertCAOrder finalize(TLSCertCA tlsCertCA, TLSCertCAFinalizeRequest request) throws com.sankcrm.erp.common.exception.CoreException Description copied from interface:TLSCertCAProvider完成证书订单。- Specified by:
finalizein interfaceTLSCertCAProvider- Parameters:
tlsCertCA- TLS证书CArequest- 完成请求- Returns:
- 最新证书订单
- Throws:
com.sankcrm.erp.common.exception.CoreException- 完成异常
-
download
public TLSCertCADownload download(TLSCertCA tlsCertCA, TLSCertCADownloadRequest request) throws com.sankcrm.erp.common.exception.CoreException Description copied from interface:TLSCertCAProvider下载证书。- Specified by:
downloadin interfaceTLSCertCAProvider- Parameters:
tlsCertCA- TLS证书CArequest- 下载请求- Returns:
- 证书内容
- Throws:
com.sankcrm.erp.common.exception.CoreException- 下载异常
-
secret
protected LetsEncryptTLSCertCASecret secret(TLSCertCASecret secret) throws com.sankcrm.erp.bus.exception.CommandInvalidException - Throws:
com.sankcrm.erp.bus.exception.CommandInvalidException
-
secret
protected LetsEncryptTLSCertCASecret secret(TLSCertCA tlsCertCA) throws com.sankcrm.erp.bus.exception.CommandInvalidException - Throws:
com.sankcrm.erp.bus.exception.CommandInvalidException
-
login
protected org.shredzone.acme4j.Login login(TLSCertCA tlsCertCA, LetsEncryptTLSCertCASecret secret) throws org.shredzone.acme4j.exception.AcmeException, IOException - Throws:
org.shredzone.acme4j.exception.AcmeExceptionIOException
-
order
protected org.shredzone.acme4j.Order order(org.shredzone.acme4j.Login login, String orderHandle) throws IOException - Throws:
IOException
-
challenge
protected org.shredzone.acme4j.challenge.Challenge challenge(org.shredzone.acme4j.Login login, String challengeHandle) throws IOException - Throws:
IOException
-
toOrder
protected TLSCertCAOrder toOrder(org.shredzone.acme4j.Order order, List<TLSCertCAChallengeType> challengeTypes) -
challenges
protected List<TLSCertCAChallenge> challenges(org.shredzone.acme4j.Order order, List<TLSCertCAChallengeType> challengeTypes) -
toChallenge
protected TLSCertCAChallenge toChallenge(org.shredzone.acme4j.challenge.Challenge challenge, String domain) -
domains
protected List<String> domains(String domain, List<String> subjectAlternativeNames) throws com.sankcrm.erp.bus.exception.CommandInvalidException - Throws:
com.sankcrm.erp.bus.exception.CommandInvalidException
-
checkChallengeTypes
protected void checkChallengeTypes(List<String> domains, List<TLSCertCAChallengeType> challengeTypes) throws com.sankcrm.erp.bus.exception.CommandInvalidException - Throws:
com.sankcrm.erp.bus.exception.CommandInvalidException
-
timeout
-
status
-
keyPair
- Throws:
IOException
-
domainKeyPair
-
rsaKeySize
-
ecCurve
-
keyPairPem
- Throws:
IOException
-
csrPem
protected com.sankcrm.erp.common.sensitive.SecretKey csrPem(org.shredzone.acme4j.Order order, KeyPair domainKeyPair) throws IOException - Throws:
IOException
-
executeCsr
protected void executeCsr(org.shredzone.acme4j.Order order, com.sankcrm.erp.common.sensitive.SecretKey csrPem) throws org.shredzone.acme4j.exception.AcmeException, IOException - Throws:
org.shredzone.acme4j.exception.AcmeExceptionIOException
-
accountKeyPair
protected KeyPair accountKeyPair(TLSCertCA tlsCertCA, LetsEncryptTLSCertCASecret secret) throws IOException - Throws:
IOException
-
accountKeyPath
-
ensureBouncyCastleProvider
protected void ensureBouncyCastleProvider() -
checkBouncyCastleVersion
protected void checkBouncyCastleVersion() -
bouncyCastleLocation
-
handle
-
handle
protected LetsEncryptTLSCertCAProvider.AcmeHandle handle(String handle, String type) throws IOException - Throws:
IOException
-
invalid
-
chainPem
- Throws:
Exception
-
pem
- Throws:
Exception
-