summaryrefslogtreecommitdiffstats
path: root/third_party/rust/cose-c/include/cosec.h
blob: 6596075e1dba0aabf9869ab17a89011299eb3f07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include <stdint.h>

enum CoseSignatureType
{
  ES256 = 0,
  ES384 = 1,
  ES512 = 2,
  PS256 = 3
};

extern "C" {
typedef bool (*cose_verify_callback)(const uint8_t* payload,
                                     size_t payload_len,
                                     const uint8_t** cert_chain,
                                     size_t cert_chain_len,
                                     const size_t* certs_len,
                                     const uint8_t* ee_cert,
                                     size_t ee_cert_len,
                                     const uint8_t* signature,
                                     size_t signature_len,
                                     uint8_t algorithm,
                                     void* ctx);
bool
verify_cose_signature_ffi(const uint8_t* payload,
                          size_t payload_len,
                          const uint8_t* signature,
                          size_t signature_len,
                          void* ctx,
                          cose_verify_callback);
}