eid-viewer
eid-viewer library
verify_cert.h
Go to the documentation of this file.
1 #ifndef EID_VWR_VERIFY_H
2 #define EID_VWR_VERIFY_H
3 
16 #ifdef __cplusplus
17 extern "C"
18 {
19 #endif
20 
21 #include <eid-viewer/oslayer.h>
22 #include <stdint.h>
23 
51  DllExport enum eid_vwr_result eid_vwr_verify_cert(const void
52  *certificate,
53  size_t certlen,
54  const void *ca,
55  size_t calen,
56  const void
57  *
58  (*perform_ocsp_request)
59  (char *, void *,
60  long, long *,
61  void **),
62  void
63  (*free_ocsp_request)
64  (void *));
77  DllExport enum eid_vwr_result eid_vwr_verify_cert_full(const void
78  *certificate,
79  size_t certlen,
80  const void *ca,
81  size_t calen,
82  const void
83  *
84  (*perform_ocsp_request)
85  (char *, void *,
86  long, long *,
87  void **),
88  void
89  (*free_ocsp_request)
90  (void *), uint64_t flags);
91 #define EID_VWR_NO_OCSP_ALLOWLIST (1 << 0)
116  DllExport enum eid_vwr_result eid_vwr_verify_int_cert(const void
117  *certificate,
118  size_t certlen,
119  const void *root,
120  size_t rootlen,
121  const void
122  *(*perform_http_request)
123  (char *, long *,
124  void **), void
125  (free_http_request)
126  (void*));
127 
140  DllExport enum eid_vwr_result eid_vwr_verify_rrncert(const void
141  *certificate,
142  size_t certlen,
143  const void
144  *root_cert,
145  size_t rootlen);
156  DllExport enum eid_vwr_result eid_vwr_verify_root_cert(const void *certificate, size_t certlen);
170  DllExport char *eid_vwr_x509_get_details(const void *certificate,
171  size_t certlen);
172 
185  DllExport void eid_vwr_check_signature(const void *pubkey,
186  size_t pubkeylen, const void *signature,
187  size_t siglen, const void *data, size_t datalen);
188 
189 DllExport void eid_vwr_challenge_result(const unsigned char *response, int responselen, enum eid_vwr_result res);
190 #ifdef __cplusplus
191 }
192 #endif
193 
196 #endif
DllExport enum eid_vwr_result eid_vwr_verify_rrncert(const void *certificate, size_t certlen, const void *root_cert, size_t rootlen)
Verify the validity of the RRN certificate.
Definition: verify.c:322
DllExport char * eid_vwr_x509_get_details(const void *certificate, size_t certlen)
Produce a human-readable version of the certificate.
Definition: verify.c:387
DllExport enum eid_vwr_result eid_vwr_verify_int_cert(const void *certificate, size_t certlen, const void *root, size_t rootlen, const void *(*perform_http_request)(char *, long *, void **), void(free_http_request)(void *))
Verify the validity of an intermediate certificate.
DllExport enum eid_vwr_result eid_vwr_verify_cert_full(const void *certificate, size_t certlen, const void *ca, size_t calen, const void *(*perform_ocsp_request)(char *, void *, long, long *, void **), void(*free_ocsp_request)(void *), uint64_t flags)
Verify the validity of a leaf certificate, specifying options.
Definition: verify.c:153
DllExport enum eid_vwr_result eid_vwr_verify_root_cert(const void *certificate, size_t certlen)
Verify the validity of the root certificate.
Definition: verify.c:407
DllExport void eid_vwr_check_signature(const void *pubkey, size_t pubkeylen, const void *signature, size_t siglen, const void *data, size_t datalen)
helper function to verify that an ECDSA signature is correct.
Definition: verify.c:445
DllExport enum eid_vwr_result eid_vwr_verify_cert(const void *certificate, size_t certlen, const void *ca, size_t calen, const void *(*perform_ocsp_request)(char *, void *, long, long *, void **), void(*free_ocsp_request)(void *))
Verify the validity of a leaf certificate.
Definition: verify.c:318
eid_vwr_result
Definition: oslayer.h:63
contains the functions, enums and structures that need to be known by the ui