annotate common/certhelp.h @ 389:3be838c3e4d8

Handle installation success. Save / load last installed list. This also adds a feature that you can specifiy the download resource when release build is not set so that you can update a list without modifying the server data.
author Andre Heinecke <andre.heinecke@intevation.de>
date Tue, 15 Apr 2014 19:05:49 +0200
parents 2207e94a0cc3
children 17e1c8f37d72
rev   line source
259
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
1 #ifndef CERTHELP_H
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
2 #define CERTHELP_H
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
3
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
4 /* Polarssl mh.h contains a conversion which gcc warns about */
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
5 #pragma GCC diagnostic ignored "-Wsign-conversion"
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
6 #pragma GCC diagnostic ignored "-Wconversion"
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
7 #include <polarssl/oid.h>
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
8 #include <polarssl/x509_crt.h>
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
9 #pragma GCC diagnostic pop
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
10 #pragma GCC diagnostic pop
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
11
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
12 #define CERT_OID_CN (unsigned char *)OID_AT_CN "\0"
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
13 #define CERT_OID_O (unsigned char *)OID_AT_ORGANIZATION "\0"
337
2207e94a0cc3 Add some more oid's for data and enable c++ linkage
Andre Heinecke <aheinecke@intevation.de>
parents: 259
diff changeset
14 #define CERT_OID_OU (unsigned char *)OID_AT_ORG_UNIT "\0"
2207e94a0cc3 Add some more oid's for data and enable c++ linkage
Andre Heinecke <aheinecke@intevation.de>
parents: 259
diff changeset
15 #define CERT_OID_SN (unsigned char *)OID_AT_SERIAL_NUMBER "\0"
2207e94a0cc3 Add some more oid's for data and enable c++ linkage
Andre Heinecke <aheinecke@intevation.de>
parents: 259
diff changeset
16 #ifdef __cplusplus
2207e94a0cc3 Add some more oid's for data and enable c++ linkage
Andre Heinecke <aheinecke@intevation.de>
parents: 259
diff changeset
17 extern "C" {
2207e94a0cc3 Add some more oid's for data and enable c++ linkage
Andre Heinecke <aheinecke@intevation.de>
parents: 259
diff changeset
18 #endif
259
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
19
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
20 /**
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
21 * @file
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
22 * @brief Helper functinos to handle and parse X.509 certificates.
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
23 *
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
24 * Simple helper functions based on PolarSSL.
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
25 */
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
26
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
27 /**
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
28 * @brief Extracts value of an gieb OID from an x509_name object.
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
29 *
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
30 * The value is copyed to an bull byte terminated c-string.
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
31 * The caller should free it after use.
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
32 * @param[in] namebuf ponter to the x509_name object.
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
33 * @param[in] oid the oid to search for.
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
34 * @returns the extracted String, or NULL in failure.
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
35 */
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
36 char *get_oid_valstr(x509_name *namebuf, unsigned char *oid);
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
37
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
38 /**
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
39 * @brief Parse x509 certificate and retrieve specified OID from Subject.
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
40 *
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
41 * The value is copyed to an bull byte terminated c-string.
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
42 * The caller should free it after use.
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
43 * @param[in] derdata pointer to certificate in DER format.
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
44 * @param[in] derlen length of the DER data.
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
45 * @param[in] oid the OID to search for.
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
46 * @returns the extracted String, or NULL in failure.
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
47 */
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
48 char *x509_parse_subject(unsigned char *derdata, size_t derlen,
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
49 unsigned char *oid);
337
2207e94a0cc3 Add some more oid's for data and enable c++ linkage
Andre Heinecke <aheinecke@intevation.de>
parents: 259
diff changeset
50 #ifdef __cplusplus
2207e94a0cc3 Add some more oid's for data and enable c++ linkage
Andre Heinecke <aheinecke@intevation.de>
parents: 259
diff changeset
51 }
2207e94a0cc3 Add some more oid's for data and enable c++ linkage
Andre Heinecke <aheinecke@intevation.de>
parents: 259
diff changeset
52 #endif
259
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
53
20d515604daa Added new module with helper functions to parse certs.
Sascha Wilde <wilde@intevation.de>
parents:
diff changeset
54 #endif

http://wald.intevation.org/projects/trustbridge/