acme_client_challenge.h File Reference

Challenge object management. More...

#include "acme/acme_client.h"

Go to the source code of this file.

Functions

error_t acmeClientSendChallengeReadyRequest (AcmeClientContext *context, AcmeChallenge *challenge)
 Send HTTP request (challenge URL) More...
 
error_t acmeClientFormatChallengeReadyRequest (AcmeClientContext *context, AcmeChallenge *challenge)
 Format HTTP request body (challenge URL) More...
 
error_t acmeClientParseChallengeReadyResponse (AcmeClientContext *context)
 Parse HTTP response (challenge URL) More...
 
AcmeChallengeStatus acmeClientParseChallengeStatus (const char_t *label)
 Parse challenge status field. More...
 
AcmeChallengeType acmeClientParseChallengeType (const char_t *label)
 Parse challenge type field. More...
 
AcmeChallengeType acmeClientGetChallengeType (AcmeClientContext *context, const char_t *identifier, bool_t wildcard)
 Retrieve the challenge type used for a given domain name. More...
 
error_t acmeClientGenerateKeyAuthorization (AcmeClientContext *context, AcmeChallenge *challenge)
 Generate key authorization. More...
 
error_t acmeClientDigestKeyAuthorization (AcmeClientContext *context, AcmeChallenge *challenge)
 Digest the key authorization (for DNS challenge only) More...
 
error_t acmeClientGenerateTlsAlpnCert (AcmeClientContext *context, AcmeChallenge *challenge)
 Generate a self-signed certificate (TLS-ALPN challenge only) More...
 

Detailed Description

Challenge object management.

License

SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2019-2024 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneACME Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.4.0

Definition in file acme_client_challenge.h.

Function Documentation

◆ acmeClientDigestKeyAuthorization()

error_t acmeClientDigestKeyAuthorization ( AcmeClientContext context,
AcmeChallenge challenge 
)

Digest the key authorization (for DNS challenge only)

Parameters
[in]contextPointer to the ACME client context
[in]challengePointer to the challenge object
Returns
Error code

Definition at line 392 of file acme_client_challenge.c.

◆ acmeClientFormatChallengeReadyRequest()

error_t acmeClientFormatChallengeReadyRequest ( AcmeClientContext context,
AcmeChallenge challenge 
)

Format HTTP request body (challenge URL)

Parameters
[in]contextPointer to the ACME client context
[in]challengePointer to the challenge object
Returns
Error code

Definition at line 148 of file acme_client_challenge.c.

◆ acmeClientGenerateKeyAuthorization()

error_t acmeClientGenerateKeyAuthorization ( AcmeClientContext context,
AcmeChallenge challenge 
)

Generate key authorization.

Parameters
[in]contextPointer to the ACME client context
[in]challengePointer to the challenge object
Returns
Error code

Definition at line 340 of file acme_client_challenge.c.

◆ acmeClientGenerateTlsAlpnCert()

error_t acmeClientGenerateTlsAlpnCert ( AcmeClientContext context,
AcmeChallenge challenge 
)

Generate a self-signed certificate (TLS-ALPN challenge only)

Parameters
[in]contextPointer to the ACME client context
[in]challengePointer to the challenge object
Returns
Error code

Definition at line 426 of file acme_client_challenge.c.

◆ acmeClientGetChallengeType()

AcmeChallengeType acmeClientGetChallengeType ( AcmeClientContext context,
const char_t identifier,
bool_t  wildcard 
)

Retrieve the challenge type used for a given domain name.

Parameters
[in]contextPointer to the ACME client context
[in]identifierNULL-terminated string that contains a domain name
[in]wildcardWildcard domain name
Returns
Challenge type

Definition at line 291 of file acme_client_challenge.c.

◆ acmeClientParseChallengeReadyResponse()

error_t acmeClientParseChallengeReadyResponse ( AcmeClientContext context)

Parse HTTP response (challenge URL)

Parameters
[in]contextPointer to the ACME client context
Returns
Error code

Definition at line 187 of file acme_client_challenge.c.

◆ acmeClientParseChallengeStatus()

AcmeChallengeStatus acmeClientParseChallengeStatus ( const char_t label)

Parse challenge status field.

Parameters
[in]labelTextual representation of the status
Returns
Authorization status code

Definition at line 209 of file acme_client_challenge.c.

◆ acmeClientParseChallengeType()

AcmeChallengeType acmeClientParseChallengeType ( const char_t label)

Parse challenge type field.

Parameters
[in]labelTextual representation of the challenge type
Returns
Challenge type

Definition at line 252 of file acme_client_challenge.c.

◆ acmeClientSendChallengeReadyRequest()

error_t acmeClientSendChallengeReadyRequest ( AcmeClientContext context,
AcmeChallenge challenge 
)

Send HTTP request (challenge URL)

Parameters
[in]contextPointer to the ACME client context
[in]challengePointer to the challenge object
Returns
Error code

Definition at line 60 of file acme_client_challenge.c.