// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright ( C ) 2019 Microsoft Corporation
*
* Author : Lakshmi Ramasubramanian ( nramas @ linux . microsoft . com )
*
* File : ima_asymmetric_keys . c
* Defines an IMA hook to measure asymmetric keys on key
* create or update .
*/
#include <keys/asymmetric-type.h>
#include <linux/user_namespace.h>
#include <linux/ima.h>
#include "ima.h"
/**
* ima_post_key_create_or_update - measure asymmetric keys
* @ keyring : keyring to which the key is linked to
* @ key : created or updated key
* @ payload : The data used to instantiate or update the key .
* @ payload_len : The length of @ payload .
* @ flags : key flags
* @ create : flag indicating whether the key was created or updated
*
* Keys can only be measured , not appraised .
* The payload data used to instantiate or update the key is measured .
*/
void ima_post_key_create_or_update(struct key *keyring, struct key *key,
const void *payload, size_t payload_len,
unsigned long flags, bool create)
{
bool queued = false ;
/* Only asymmetric keys are handled by this hook. */
if (key->type != &key_type_asymmetric)
return ;
if (!payload || (payload_len == 0 ))
return ;
if (ima_should_queue_key())
queued = ima_queue_key(keyring, payload, payload_len);
if (queued)
return ;
/*
* keyring - > description points to the name of the keyring
* ( such as " . builtin_trusted_keys " , " . ima " , etc . ) to
* which the given key is linked to .
*
* The name of the keyring is passed in the " eventname "
* parameter to process_buffer_measurement ( ) and is set
* in the " eventname " field in ima_event_data for
* the key measurement IMA event .
*
* The name of the keyring is also passed in the " keyring "
* parameter to process_buffer_measurement ( ) to check
* if the IMA policy is configured to measure a key linked
* to the given keyring .
*/
process_buffer_measurement(&nop_mnt_idmap, NULL, payload, payload_len,
keyring->description, KEY_CHECK, 0 ,
keyring->description, false , NULL, 0 );
}
Messung V0.5 in Prozent C=93 H=100 G=96
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-09-28)
¤
*© Formatika GbR, Deutschland