Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /* Asymmetric public-key cryptography data parser
0003  *
0004  * See Documentation/crypto/asymmetric-keys.rst
0005  *
0006  * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved.
0007  * Written by David Howells (dhowells@redhat.com)
0008  */
0009 
0010 #ifndef _KEYS_ASYMMETRIC_PARSER_H
0011 #define _KEYS_ASYMMETRIC_PARSER_H
0012 
0013 /*
0014  * Key data parser.  Called during key instantiation.
0015  */
0016 struct asymmetric_key_parser {
0017     struct list_head    link;
0018     struct module       *owner;
0019     const char      *name;
0020 
0021     /* Attempt to parse a key from the data blob passed to add_key() or
0022      * keyctl_instantiate().  Should also generate a proposed description
0023      * that the caller can optionally use for the key.
0024      *
0025      * Return EBADMSG if not recognised.
0026      */
0027     int (*parse)(struct key_preparsed_payload *prep);
0028 };
0029 
0030 extern int register_asymmetric_key_parser(struct asymmetric_key_parser *);
0031 extern void unregister_asymmetric_key_parser(struct asymmetric_key_parser *);
0032 
0033 #endif /* _KEYS_ASYMMETRIC_PARSER_H */