diff options
Diffstat (limited to 'crypto/asymmetric_keys/x509_parser.h')
-rw-r--r-- | crypto/asymmetric_keys/x509_parser.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/crypto/asymmetric_keys/x509_parser.h b/crypto/asymmetric_keys/x509_parser.h new file mode 100644 index 000000000000..635053f7e962 --- /dev/null +++ b/crypto/asymmetric_keys/x509_parser.h | |||
@@ -0,0 +1,36 @@ | |||
1 | /* X.509 certificate parser internal definitions | ||
2 | * | ||
3 | * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved. | ||
4 | * Written by David Howells (dhowells@redhat.com) | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public Licence | ||
8 | * as published by the Free Software Foundation; either version | ||
9 | * 2 of the Licence, or (at your option) any later version. | ||
10 | */ | ||
11 | |||
12 | #include <crypto/public_key.h> | ||
13 | |||
14 | struct x509_certificate { | ||
15 | struct x509_certificate *next; | ||
16 | struct public_key *pub; /* Public key details */ | ||
17 | char *issuer; /* Name of certificate issuer */ | ||
18 | char *subject; /* Name of certificate subject */ | ||
19 | char *fingerprint; /* Key fingerprint as hex */ | ||
20 | char *authority; /* Authority key fingerprint as hex */ | ||
21 | time_t valid_from; | ||
22 | time_t valid_to; | ||
23 | enum pkey_algo pkey_algo : 8; /* Public key algorithm */ | ||
24 | enum pkey_algo sig_pkey_algo : 8; /* Signature public key algorithm */ | ||
25 | enum pkey_hash_algo sig_hash_algo : 8; /* Signature hash algorithm */ | ||
26 | const void *tbs; /* Signed data */ | ||
27 | size_t tbs_size; /* Size of signed data */ | ||
28 | const void *sig; /* Signature data */ | ||
29 | size_t sig_size; /* Size of sigature */ | ||
30 | }; | ||
31 | |||
32 | /* | ||
33 | * x509_cert_parser.c | ||
34 | */ | ||
35 | extern void x509_free_certificate(struct x509_certificate *cert); | ||
36 | extern struct x509_certificate *x509_cert_parse(const void *data, size_t datalen); | ||