NZCP.c  0.0.4
An implementation of the New Zealand COVID Pass specification in C
Typedefs | Enumerations | Functions
Verify a New Zealand COVID Pass

A group of functions for verifying New Zealand COVID Passes. More...

Typedefs

typedef enum nzcp_error nzcp_error
 The nzcp_error enum used for verfication errors. More...
 

Enumerations

enum  nzcp_error
 The nzcp_error enum used for verfication errors. More...
 

Functions

nzcp_error nzcp_verify_pass_uri (uint8_t *pass_uri, nzcp_verification_result *verification_result, bool is_example)
 Verifies New Zealand COVID Pass URI. More...
 
void nzcp_free_verification_result (nzcp_verification_result *verification_result)
 Frees nzcp_verification_result struct. Run this after you're done with the result. More...
 
const char * nzcp_error_string (nzcp_error error)
 Returns the error description for the given error code. More...
 

Detailed Description

A group of functions for verifying New Zealand COVID Passes.

Example Usage

#include <nzcp.h>
// initiate verification result on stack
nzcp_verification_result verification_result;
// verify pass
// last argument determines if it's example or live MOH DID document
nzcp_error error = nzcp_verify_pass_uri(PASS_URI, &verification_result, 1);
// check for error
if (error == NZCP_E_SUCCESS) {
printf("jti: %s\n", verification_result.jti);
printf("iss: %s\n", verification_result.iss);
printf("nbf: %d\n", verification_result.nbf);
printf("exp: %d\n", verification_result.exp);
printf("given_name: %s\n", verification_result.given_name);
printf("family_name: %s\n", verification_result.family_name);
printf("dob: %s\n", verification_result.dob);
}
else {
printf("error: %s\n", nzcp_error_string(error));
}
// free memory of verification result properties
nzcp_free_verification_result(&verification_result);

Typedef Documentation

◆ nzcp_error

typedef enum nzcp_error nzcp_error

The nzcp_error enum used for verfication errors.

This is the type used to represent NZCP errors in the nzcp_verify_pass_uri function.

Enumeration Type Documentation

◆ nzcp_error

enum nzcp_error

The nzcp_error enum used for verfication errors.

This is the type used to represent NZCP errors in the nzcp_verify_pass_uri function.

Function Documentation

◆ nzcp_error_string()

const char* nzcp_error_string ( nzcp_error  error)

Returns the error description for the given error code.

Parameters
[in]errorerror code
Returns
const char*

◆ nzcp_free_verification_result()

void nzcp_free_verification_result ( nzcp_verification_result verification_result)

Frees nzcp_verification_result struct. Run this after you're done with the result.

Parameters
[in]verification_resultPointer to verification result struct

◆ nzcp_verify_pass_uri()

nzcp_error nzcp_verify_pass_uri ( uint8_t *  pass_uri,
nzcp_verification_result verification_result,
bool  is_example 
)

Verifies New Zealand COVID Pass URI.

Parameters
[in]pass_uriNull-terminted buffer with the URI
[out]verification_resultPointer to verification result struct
[in]is_exampleWhether the pass_uri uses example or live MOH DID document
Returns
nzcp_error
nzcp_verification_result::family_name
char * family_name
Definition: nzcp.h:61
nzcp_error
nzcp_error
The nzcp_error enum used for verfication errors.
Definition: nzcp.h:105
nzcp_verification_result::exp
int exp
Definition: nzcp.h:59
nzcp_verification_result::iss
char * iss
Definition: nzcp.h:57
nzcp_verification_result::given_name
char * given_name
Definition: nzcp.h:60
nzcp_verification_result::jti
char * jti
Definition: nzcp.h:56
nzcp_error_string
const char * nzcp_error_string(nzcp_error error)
Returns the error description for the given error code.
nzcp_verification_result::nbf
int nbf
Definition: nzcp.h:58
nzcp_verification_result
The nzcp_verification_result structure.
Definition: nzcp.h:55
nzcp_verification_result::dob
char * dob
Definition: nzcp.h:62
nzcp_free_verification_result
void nzcp_free_verification_result(nzcp_verification_result *verification_result)
Frees nzcp_verification_result struct. Run this after you're done with the result.
nzcp_verify_pass_uri
nzcp_error nzcp_verify_pass_uri(uint8_t *pass_uri, nzcp_verification_result *verification_result, bool is_example)
Verifies New Zealand COVID Pass URI.