linux/crypto/asymmetric_keys/x509_parser.h
<<
>>
Prefs
   1/* X.509 certificate parser internal definitions
   2 *
   3 * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved.
   4 * Written by David Howells (dhowells@redhat.com)
   5 *
   6 * This program is free software; you can redistribute it and/or
   7 * modify it under the terms of the GNU General Public Licence
   8 * as published by the Free Software Foundation; either version
   9 * 2 of the Licence, or (at your option) any later version.
  10 */
  11
  12#include <crypto/public_key.h>
  13
  14struct x509_certificate {
  15        struct x509_certificate *next;
  16        struct public_key *pub;                 /* Public key details */
  17        char            *issuer;                /* Name of certificate issuer */
  18        char            *subject;               /* Name of certificate subject */
  19        char            *fingerprint;           /* Key fingerprint as hex */
  20        char            *authority;             /* Authority key fingerprint as hex */
  21        struct tm       valid_from;
  22        struct tm       valid_to;
  23        enum pkey_algo  pkey_algo : 8;          /* Public key algorithm */
  24        enum pkey_algo  sig_pkey_algo : 8;      /* Signature public key algorithm */
  25        enum pkey_hash_algo sig_hash_algo : 8;  /* Signature hash algorithm */
  26        const void      *tbs;                   /* Signed data */
  27        size_t          tbs_size;               /* Size of signed data */
  28        const void      *sig;                   /* Signature data */
  29        size_t          sig_size;               /* Size of sigature */
  30};
  31
  32/*
  33 * x509_cert_parser.c
  34 */
  35extern void x509_free_certificate(struct x509_certificate *cert);
  36extern struct x509_certificate *x509_cert_parse(const void *data, size_t datalen);
  37