#define pr_fmt(fmt) …
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/export.h>
#include <linux/slab.h>
#include <linux/err.h>
#include <linux/oid_registry.h>
#include <keys/asymmetric-subtype.h>
#include <keys/asymmetric-parser.h>
#include <crypto/public_key.h>
#include "pkcs8.asn1.h"
struct pkcs8_parse_context { … };
int pkcs8_note_OID(void *context, size_t hdrlen,
unsigned char tag,
const void *value, size_t vlen)
{ … }
int pkcs8_note_version(void *context, size_t hdrlen,
unsigned char tag,
const void *value, size_t vlen)
{ … }
int pkcs8_note_algo(void *context, size_t hdrlen,
unsigned char tag,
const void *value, size_t vlen)
{ … }
int pkcs8_note_key(void *context, size_t hdrlen,
unsigned char tag,
const void *value, size_t vlen)
{ … }
static struct public_key *pkcs8_parse(const void *data, size_t datalen)
{ … }
static int pkcs8_key_preparse(struct key_preparsed_payload *prep)
{ … }
static struct asymmetric_key_parser pkcs8_key_parser = …;
static int __init pkcs8_key_init(void)
{ … }
static void __exit pkcs8_key_exit(void)
{ … }
module_init(…) …;
module_exit(pkcs8_key_exit);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;