CryptoAuthLib
Atmel CryptoAuthentication Library
atcacert_der.h
Go to the documentation of this file.
1 
43 #ifndef ATCACERT_DER_H
44 #define ATCACERT_DER_H
45 
46 #include <stddef.h>
47 #include <stdint.h>
48 #include "atcacert.h"
49 
50 // Inform function naming when compiling in C++
51 #ifdef __cplusplus
52 extern "C" {
53 #endif
54 
75 int atcacert_der_enc_length(uint32_t length, uint8_t* der_length, size_t* der_length_size);
76 
89 int atcacert_der_dec_length(const uint8_t* der_length, size_t* der_length_size, uint32_t* length);
90 
106 int atcacert_der_enc_integer( const uint8_t* int_data,
107  size_t int_data_size,
108  uint8_t is_unsigned,
109  uint8_t* der_int,
110  size_t* der_int_size);
111 
128 int atcacert_der_dec_integer( const uint8_t* der_int,
129  size_t* der_int_size,
130  uint8_t* int_data,
131  size_t* int_data_size);
132 
149 int atcacert_der_enc_ecdsa_sig_value( const uint8_t raw_sig[64],
150  uint8_t* der_sig,
151  size_t* der_sig_size);
152 
168 int atcacert_der_dec_ecdsa_sig_value( const uint8_t * der_sig,
169  size_t * der_sig_size,
170  uint8_t raw_sig[64]);
171 
173 #ifdef __cplusplus
174 }
175 #endif
176 
177 #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:278
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:46
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:123
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_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:175
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:221
Declarations common to all atcacert code.