Blame view
crypto/asymmetric_keys/x509_parser.h
2.08 KB
b4d0d230c treewide: Replace... |
1 |
/* SPDX-License-Identifier: GPL-2.0-or-later */ |
c26fd69fa X.509: Add a cryp... |
2 3 4 5 |
/* X.509 certificate parser internal definitions * * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved. * Written by David Howells (dhowells@redhat.com) |
c26fd69fa X.509: Add a cryp... |
6 |
*/ |
57be4a784 X.509: struct x50... |
7 |
#include <linux/time.h> |
c26fd69fa X.509: Add a cryp... |
8 |
#include <crypto/public_key.h> |
146aa8b14 KEYS: Merge the t... |
9 |
#include <keys/asymmetric-type.h> |
c26fd69fa X.509: Add a cryp... |
10 11 12 |
struct x509_certificate { struct x509_certificate *next; |
84aabd46b X.509: Add bits n... |
13 |
struct x509_certificate *signer; /* Certificate that signed this one */ |
c26fd69fa X.509: Add a cryp... |
14 |
struct public_key *pub; /* Public key details */ |
77d0910d1 X.509: Retain the... |
15 |
struct public_key_signature *sig; /* Signature parameters */ |
c26fd69fa X.509: Add a cryp... |
16 17 |
char *issuer; /* Name of certificate issuer */ char *subject; /* Name of certificate subject */ |
b92e6570a X.509: Extract bo... |
18 |
struct asymmetric_key_id *id; /* Issuer + Serial number */ |
8dd609805 KEYS: use swapped... |
19 |
struct asymmetric_key_id *skid; /* Subject + subjectKeyId (optional) */ |
fd19a3d19 PKCS#7: Improve a... |
20 21 |
time64_t valid_from; time64_t valid_to; |
c26fd69fa X.509: Add a cryp... |
22 |
const void *tbs; /* Signed data */ |
b426beb6e X.509: Embed publ... |
23 24 25 |
unsigned tbs_size; /* Size of signed data */ unsigned raw_sig_size; /* Size of sigature */ const void *raw_sig; /* Signature data */ |
84aabd46b X.509: Add bits n... |
26 27 28 29 30 31 |
const void *raw_serial; /* Raw serial number in ASN.1 */ unsigned raw_serial_size; unsigned raw_issuer_size; const void *raw_issuer; /* Raw issuer name in ASN.1 */ const void *raw_subject; /* Raw subject name in ASN.1 */ unsigned raw_subject_size; |
dd2f6c448 X.509: If availab... |
32 33 |
unsigned raw_skid_size; const void *raw_skid; /* Raw subjectKeyId in ASN.1 */ |
84aabd46b X.509: Add bits n... |
34 35 36 |
unsigned index; bool seen; /* Infinite recursion prevention */ bool verified; |
6c2dc5ae4 X.509: Extract si... |
37 38 39 |
bool self_signed; /* T if self-signed (check unsupported_sig too) */ bool unsupported_key; /* T if key uses unsupported crypto */ bool unsupported_sig; /* T if signature uses unsupported crypto */ |
436529562 X.509: Allow X.50... |
40 |
bool blacklisted; |
c26fd69fa X.509: Add a cryp... |
41 42 43 44 45 46 47 |
}; /* * x509_cert_parser.c */ extern void x509_free_certificate(struct x509_certificate *cert); extern struct x509_certificate *x509_cert_parse(const void *data, size_t datalen); |
fd19a3d19 PKCS#7: Improve a... |
48 49 50 |
extern int x509_decode_time(time64_t *_t, size_t hdrlen, unsigned char tag, const unsigned char *value, size_t vlen); |
b426beb6e X.509: Embed publ... |
51 52 53 54 55 |
/* * x509_public_key.c */ extern int x509_get_sig_params(struct x509_certificate *cert); |
6c2dc5ae4 X.509: Extract si... |
56 |
extern int x509_check_for_self_signed(struct x509_certificate *cert); |