#define NULL
NULL pointer (VOID *)
static int cms_is_signature(struct cms_message *cms)
Check if CMS message is a signature message.
int cms_decrypt(struct cms_message *cms, struct image *image, const char *name, struct private_key *private_key)
Decrypt CMS message.
int cms_message(struct image *image, struct cms_message **cms)
Create CMS message.
static int cms_is_encrypted(struct cms_message *cms)
Check if CMS message is an encrypted message.
int cms_verify(struct cms_message *cms, struct image *image, const char *name, time_t time, struct x509_chain *store, struct x509_root *root)
Verify CMS signature.
static struct cms_message * cms_get(struct cms_message *cms)
Get reference to CMS message.
static void cms_put(struct cms_message *cms)
Drop reference to CMS message.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
int64_t time_t
Seconds since the Epoch.
#define ref_get(refcnt)
Get additional reference to object.
#define ref_put(refcnt)
Drop reference to object.
struct stp_switch root
Root switch.
struct asn1_cursor * raw
Raw ASN.1 data.
struct cms_type * type
Message type.
struct asn1_cursor mac
Cipher authentication tag.
struct refcnt refcnt
Reference count.
struct x509_chain * certificates
List of all certificates (for signature messages)
struct cipher_algorithm * cipher
Cipher algorithm.
struct asn1_cursor iv
Cipher initialization vector.
struct list_head participants
List of participant information blocks.
CMS participant information.
struct digest_algorithm * digest
Digest algorithm (for signature messages)
struct asn1_cursor value
Signature or key value.
struct list_head list
List of participant information blocks.
struct x509_chain * chain
Certificate chain.
struct pubkey_algorithm * pubkey
Public-key algorithm.
struct asn1_cursor oid
Object identifier.
int(* parse)(struct cms_message *cms, const struct asn1_cursor *raw)
Parse content.
A message digest algorithm.
A doubly-linked list entry (or list head)
An X.509 certificate chain.
An X.509 root certificate list.