Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


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.3 Sekunden  ¤

*© 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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge