CryptoAuthLib
Microchip CryptoAuthentication Library
atcacert_der.h
Go to the documentation of this file.
1 
29 #ifndef ATCACERT_DER_H
30 #define ATCACERT_DER_H
31 
32 #include <stddef.h>
33 #include <stdint.h>
34 #include "atcacert.h"
35 
36 // Inform function naming when compiling in C++
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40 
61 int atcacert_der_enc_length(uint32_t length, uint8_t* der_length, size_t* der_length_size);
62 
75 int atcacert_der_dec_length(const uint8_t* der_length, size_t* der_length_size, uint32_t* length);
76 
77 int atcacert_der_adjust_length(uint8_t* der_length, size_t* der_length_size, int delta_length, uint32_t* new_length);
78 
94 int atcacert_der_enc_integer(const uint8_t* int_data,
95  size_t int_data_size,
96  uint8_t is_unsigned,
97  uint8_t* der_int,
98  size_t* der_int_size);
99 
116 int atcacert_der_dec_integer(const uint8_t* der_int,
117  size_t* der_int_size,
118  uint8_t* int_data,
119  size_t* int_data_size);
120 
137 int atcacert_der_enc_ecdsa_sig_value(const uint8_t raw_sig[64],
138  uint8_t* der_sig,
139  size_t* der_sig_size);
140 
156 int atcacert_der_dec_ecdsa_sig_value(const uint8_t * der_sig,
157  size_t * der_sig_size,
158  uint8_t raw_sig[64]);
159 
161 #ifdef __cplusplus
162 }
163 #endif
164 
165 #endif
int atcacert_der_dec_ecdsa_sig_value(const uint8_t *der_sig, size_t *der_sig_size, uint8_t raw_sig[64])
Parses an ECDSA P256 signature in the DER encoding as found in X.509 certificates.
Definition: atcacert_der.c:381
int atcacert_der_dec_integer(const uint8_t *der_int, size_t *der_int_size, uint8_t *int_data, size_t *int_data_size)
Decode an ASN.1 DER encoded integer.
Definition: atcacert_der.c:250
int atcacert_der_enc_length(uint32_t length, uint8_t *der_length, size_t *der_length_size)
Encode a length in DER format.
Definition: atcacert_der.c:32
int atcacert_der_enc_ecdsa_sig_value(const uint8_t raw_sig[64], uint8_t *der_sig, size_t *der_sig_size)
Formats a raw ECDSA P256 signature in the DER encoding found in X.509 certificates.
Definition: atcacert_der.c:311
int atcacert_der_dec_length(const uint8_t *der_length, size_t *der_length_size, uint32_t *length)
Decode a DER format length.
Definition: atcacert_der.c:88
int atcacert_der_enc_integer(const uint8_t *int_data, size_t int_data_size, uint8_t is_unsigned, uint8_t *der_int, size_t *der_int_size)
Encode an ASN.1 integer in DER format, including tag and length fields.
Definition: atcacert_der.c:183
Declarations common to all atcacert code.
int atcacert_der_adjust_length(uint8_t *der_length, size_t *der_length_size, int delta_length, uint32_t *new_length)
Definition: atcacert_der.c:141