Merge branch 'drm-tda998x-devel' of git://git.armlinux.org.uk/~rmk/linux-arm into...
[cascardo/linux.git] / include / crypto / public_key.h
index aa730ea..882ca0e 100644 (file)
 #ifndef _LINUX_PUBLIC_KEY_H
 #define _LINUX_PUBLIC_KEY_H
 
-/*
- * The use to which an asymmetric key is being put.
- */
-enum key_being_used_for {
-       VERIFYING_MODULE_SIGNATURE,
-       VERIFYING_FIRMWARE_SIGNATURE,
-       VERIFYING_KEXEC_PE_SIGNATURE,
-       VERIFYING_KEY_SIGNATURE,
-       VERIFYING_KEY_SELF_SIGNATURE,
-       VERIFYING_UNSPECIFIED_SIGNATURE,
-       NR__KEY_BEING_USED_FOR
-};
-extern const char *const key_being_used_for[NR__KEY_BEING_USED_FOR];
-
 /*
  * Cryptographic data for the public-key subtype of the asymmetric key type.
  *
@@ -41,12 +27,13 @@ struct public_key {
        const char *pkey_algo;
 };
 
-extern void public_key_destroy(void *payload);
+extern void public_key_free(struct public_key *key);
 
 /*
  * Public key cryptography signature data
  */
 struct public_key_signature {
+       struct asymmetric_key_id *auth_ids[2];
        u8 *s;                  /* Signature */
        u32 s_size;             /* Number of bytes in signature */
        u8 *digest;
@@ -55,17 +42,21 @@ struct public_key_signature {
        const char *hash_algo;
 };
 
+extern void public_key_signature_free(struct public_key_signature *sig);
+
 extern struct asymmetric_key_subtype public_key_subtype;
+
 struct key;
+struct key_type;
+union key_payload;
+
+extern int restrict_link_by_signature(struct key *trust_keyring,
+                                     const struct key_type *type,
+                                     const union key_payload *payload);
+
 extern int verify_signature(const struct key *key,
                            const struct public_key_signature *sig);
 
-struct asymmetric_key_id;
-extern struct key *x509_request_asymmetric_key(struct key *keyring,
-                                              const struct asymmetric_key_id *id,
-                                              const struct asymmetric_key_id *skid,
-                                              bool partial);
-
 int public_key_verify_signature(const struct public_key *pkey,
                                const struct public_key_signature *sig);