acme_client_challenge.c
Go to the documentation of this file.
76 TRACE_DEBUG("###############################################################################\r\n");
77 TRACE_DEBUG("## CHALLENGE READY ############################################################\r\n");
78 TRACE_DEBUG("###############################################################################\r\n");
AcmeChallengeType acmeClientParseChallengeType(const char_t *label)
Parse challenge type field.
Definition: acme_client_challenge.c:252
Helper functions for ACME client.
AcmeChallengeType acmeClientGetChallengeType(AcmeClientContext *context, const char_t *identifier, bool_t wildcard)
Retrieve the challenge type used for a given domain name.
Definition: acme_client_challenge.c:291
JOSE (JSON Object Signing and Encryption)
Challenge object management.
error_t acmeClientParseChallengeReadyResponse(AcmeClientContext *context)
Parse HTTP response (challenge URL)
Definition: acme_client_challenge.c:187
error_t acmeClientSendRequest(AcmeClientContext *context)
Send HTTP request.
Definition: acme_client_misc.c:344
AcmeChallengeStatus acmeClientParseChallengeStatus(const char_t *label)
Parse challenge status field.
Definition: acme_client_challenge.c:209
X509SubjectPublicKeyInfo subjectPublicKeyInfo
Definition: x509_common.h:1263
error_t acmeClientFormatChallengeReadyRequest(AcmeClientContext *context, AcmeChallenge *challenge)
Format HTTP request body (challenge URL)
Definition: acme_client_challenge.c:148
X.509 certificate generation.
error_t acmeClientFormatRequestHeader(AcmeClientContext *context, const char_t *method, const char_t *url)
Format HTTP request header.
Definition: acme_client_misc.c:543
void base64urlEncode(const void *input, size_t inputLen, char_t *output, size_t *outputLen)
Base64url encoding algorithm.
Definition: base64url.c:72
error_t x509CreateCertificate(const PrngAlgo *prngAlgo, void *prngContext, const X509CertRequestInfo *certReqInfo, const void *subjectPublicKey, const X509CertInfo *issuerCertInfo, const X509SerialNumber *serialNumber, const X509Validity *validity, const X509SignAlgoId *signatureAlgo, const void *signerPrivateKey, uint8_t *output, size_t *written)
Generate a X.509 certificate.
Definition: x509_cert_create.c:62
error_t acmeClientFormatJwsProtectedHeader(const AcmeKeyPair *keyPair, const char_t *kid, const char_t *nonce, const char_t *url, char_t *buffer, size_t *written)
Format JWS protected header.
Definition: acme_client_misc.c:659
error_t acmeClientDigestKeyAuthorization(AcmeClientContext *context, AcmeChallenge *challenge)
Digest the key authorization (for DNS challenge only)
Definition: acme_client_challenge.c:392
error_t acmeClientGenerateKeyAuthorization(AcmeClientContext *context, AcmeChallenge *challenge)
Generate key authorization.
Definition: acme_client_challenge.c:340
error_t acmeClientGenerateTlsAlpnCert(AcmeClientContext *context, AcmeChallenge *challenge)
Generate a self-signed certificate (TLS-ALPN challenge only)
Definition: acme_client_challenge.c:426
Base64url encoding scheme.
error_t acmeClientFormatJwk(const AcmeKeyPair *keyPair, char_t *buffer, size_t *written, bool_t sort)
Export a public key to JWK format.
Definition: acme_client_misc.c:772
PEM file export functions.
error_t jwsCreate(const PrngAlgo *prngAlgo, void *prngContext, const char_t *protected, const char_t *payload, const char_t *alg, const char_t *crv, const void *privateKey, char_t *buffer, size_t *written)
Create a JSON Web Signature.
Definition: acme_client_jose.c:442
error_t pemExportCertificate(const uint8_t *cert, size_t certLen, char_t *output, size_t *written)
Export an X.509 certificate to PEM format.
Definition: pem_export.c:57
error_t sha256Compute(const void *data, size_t length, uint8_t *digest)
Digest a message using SHA-256.
Definition: efm32gg11_crypto_hash.c:143
ACME client (Automatic Certificate Management Environment)
error_t acmeClientSendChallengeReadyRequest(AcmeClientContext *context, AcmeChallenge *challenge)
Send HTTP request (challenge URL)
Definition: acme_client_challenge.c:60
Debugging facilities.
ASN.1 (Abstract Syntax Notation One)