Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/security/integrity/ima/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  ima_asymmetric_keys.c   Sprache: C

 
// 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
C=91 H=93 G=91

¤ Dauer der Verarbeitung: 0.9 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.