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

Quelle  x509_parser.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-or-later */
/* X.509 certificate parser internal definitions
 *
 * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved.
 * Written by David Howells (dhowells@redhat.com)
 */


#include <linux/cleanup.h>
#include <linux/time.h>
#include <crypto/public_key.h>
#include <keys/asymmetric-type.h>

struct x509_certificate {
 struct x509_certificate *next;
 struct x509_certificate *signer; /* Certificate that signed this one */
 struct public_key *pub;   /* Public key details */
 struct public_key_signature *sig; /* Signature parameters */
 char  *issuer;  /* Name of certificate issuer */
 char  *subject;  /* Name of certificate subject */
 struct asymmetric_key_id *id;  /* Issuer + Serial number */
 struct asymmetric_key_id *skid;  /* Subject + subjectKeyId (optional) */
 time64_t valid_from;
 time64_t valid_to;
 const void *tbs;   /* Signed data */
 unsigned tbs_size;  /* Size of signed data */
 unsigned raw_sig_size;  /* Size of signature */
 const void *raw_sig;  /* Signature data */
 const void *raw_serial;  /* Raw serial number in ASN.1 */
 unsigned raw_serial_size;
 unsigned raw_issuer_size;
 const void *raw_issuer;  /* Raw issuer name in ASN.1 */
 const void *raw_subject;  /* Raw subject name in ASN.1 */
 unsigned raw_subject_size;
 unsigned raw_skid_size;
 const void *raw_skid;  /* Raw subjectKeyId in ASN.1 */
 unsigned index;
 bool  seen;   /* Infinite recursion prevention */
 bool  verified;
 bool  self_signed;  /* T if self-signed (check unsupported_sig too) */
 bool  unsupported_sig; /* T if signature uses unsupported crypto */
 bool  blacklisted;
};

/*
 * x509_cert_parser.c
 */

extern void x509_free_certificate(struct x509_certificate *cert);
DEFINE_FREE(x509_free_certificate, struct x509_certificate *,
     if (!IS_ERR(_T)) x509_free_certificate(_T))
extern struct x509_certificate *x509_cert_parse(const void *data, size_t datalen);
extern int x509_decode_time(time64_t *_t,  size_t hdrlen,
       unsigned char tag,
       const unsigned char *value, size_t vlen);

/*
 * x509_public_key.c
 */

extern int x509_get_sig_params(struct x509_certificate *cert);
extern int x509_check_for_self_signed(struct x509_certificate *cert);

Messung V0.5
C=65 H=100 G=84

¤ Dauer der Verarbeitung: 0.0 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.