abac0-leakabac0-meicompt_changesgec13mei-idmei-rt0-nmei_rt0mei_rt2mei_rt2_fix_1meiyap-rt1meiyap1rt2tvf-new-xml
Last change
on this file since 3131b19 was
3131b19,
checked in by Mike Ryan <mikeryan@…>, 14 years ago
|
keyid uses creddy_id_t
|
-
Property mode set to
100644
|
File size:
1.7 KB
|
Line | |
---|
1 | #ifndef __CREDDY_H__ |
---|
2 | #define __CREDDY_H__ |
---|
3 | |
---|
4 | #include <library.h> |
---|
5 | #include <credentials/certificates/certificate.h> |
---|
6 | #include <credentials/certificates/x509.h> |
---|
7 | |
---|
8 | typedef struct _subject_t { |
---|
9 | char *cert; |
---|
10 | char *id; |
---|
11 | char *role; |
---|
12 | } subject_t; |
---|
13 | |
---|
14 | typedef struct _options_t { |
---|
15 | int help; |
---|
16 | int mode; |
---|
17 | |
---|
18 | char *cert; |
---|
19 | |
---|
20 | // generate options |
---|
21 | char *cn; |
---|
22 | int validity; |
---|
23 | |
---|
24 | // attribute options |
---|
25 | char *issuer; |
---|
26 | char *key; |
---|
27 | char *role; |
---|
28 | subject_t *subjects; |
---|
29 | int num_subjects; |
---|
30 | char *out; |
---|
31 | |
---|
32 | // verify options |
---|
33 | char *attrcert; |
---|
34 | } options_t; |
---|
35 | |
---|
36 | #define MODE_GENERATE 1 |
---|
37 | #define MODE_VERIFY 2 |
---|
38 | #define MODE_KEYID 3 |
---|
39 | #define MODE_ATTRIBUTE 4 |
---|
40 | #define MODE_ROLES 5 |
---|
41 | #define MODE_VERSION 6 |
---|
42 | |
---|
43 | // returns true if a name starts with a letter and is otherwise alphanumeric |
---|
44 | int clean_name(char *string); |
---|
45 | |
---|
46 | // load an ID/attr cert from file (aborts on fail) |
---|
47 | certificate_t *cert_from_file(char *filename); |
---|
48 | certificate_t *attr_cert_from_file(char *filename); |
---|
49 | |
---|
50 | // generate a random serial |
---|
51 | chunk_t generate_serial(); |
---|
52 | |
---|
53 | void usage(options_t *opts); |
---|
54 | void *xmalloc(size_t len); |
---|
55 | void *xrealloc(void *ptr, size_t size); |
---|
56 | char *xstrdup(char *string); |
---|
57 | |
---|
58 | // sub programs |
---|
59 | void generate_main(options_t *opts); |
---|
60 | void keyid_main(options_t *opts); |
---|
61 | void attribute_main(options_t *opts); |
---|
62 | void roles_main(options_t *opts); |
---|
63 | void verify_main(options_t *opts); |
---|
64 | |
---|
65 | #define CREDDY_SUCCESS 0 |
---|
66 | #define CREDDY_GENERATE_INVALID_CN -1 |
---|
67 | #define CREDDY_GENERATE_INVALID_VALIDITY -2 |
---|
68 | |
---|
69 | /** |
---|
70 | * Generate an ID cert / private key pair. Returns one of the error |
---|
71 | * codes above. Validity is in days. Output is in ${cn}_ID.pem and |
---|
72 | * ${cn}_private.der. |
---|
73 | */ |
---|
74 | int creddy_generate(char *cn, int validity); |
---|
75 | |
---|
76 | #endif /* __CREDDY_H__ */ |
---|
Note: See
TracBrowser
for help on using the repository browser.