nrfxlib API 3.3.99
Loading...
Searching...
No Matches
cc3xx_asn1_util.h File Reference
#include <psa/crypto.h>
#include <stdint.h>

Go to the source code of this file.

DER constants

These constants comply with the DER encoded ASN.1 type tags. DER encoding uses hexadecimal representation. An example DER sequence is:

  • 0x02 – tag indicating INTEGER
  • 0x01 – length in octets
  • 0x05 – value Such sequences are typically read into ::mbedtls_x509_buf.
#define CC3XX_TAG_ASN1_INTEGER   0x02
 
#define CC3XX_TAG_ASN1_SEQUENCE   0x10
 
#define CC3XX_TAG_ASN1_CONSTRUCTED   0x20
 
int cc3xx_asn1_write_len (unsigned char **p, const unsigned char *start, size_t len)
 Write a length field in ASN.1 format.
 
int cc3xx_asn1_write_tag (unsigned char **p, const unsigned char *start, unsigned char tag)
 Write an ASN.1 tag in ASN.1 format.
 
int cc3xx_asn1_write_big_integer (unsigned char **p, const unsigned char *start, uint8_t *data, size_t data_size)
 Write an int tag and value in ASN.1 format represented as a uint8_t array.
 
int cc3xx_asn1_write_int (unsigned char **p, unsigned char *start, int val)
 Write an int tag and value in ASN.1 format.
 
psa_status_t cc3xx_asn1_get_tag (unsigned char **p, const unsigned char *end, size_t *len, int tag)
 Get the tag and length of the element. Check for the requested tag. Updates the pointer to immediately behind the tag and length.
 
psa_status_t cc3xx_asn1_get_len (unsigned char **p, const unsigned char *end, size_t *len)
 Get the length of an ASN.1 element. Updates the pointer to immediately behind the length.
 
psa_status_t cc3xx_asn1_get_int (unsigned char **p, const unsigned char *end, int *val)
 Retrieve an integer ASN.1 tag and its value. Updates the pointer to immediately behind the full tag.
 

Detailed Description

This file contains the declaration of the internal functions and utilities to perform parsing of ASN-1 encoded key buffers