diff options
Diffstat (limited to 'crypto/asymmetric_keys/x509_parser.h')
| -rw-r--r-- | crypto/asymmetric_keys/x509_parser.h | 18 | 
1 files changed, 12 insertions, 6 deletions
diff --git a/crypto/asymmetric_keys/x509_parser.h b/crypto/asymmetric_keys/x509_parser.h index f86dc5fcc4a..87d9cc26f63 100644 --- a/crypto/asymmetric_keys/x509_parser.h +++ b/crypto/asymmetric_keys/x509_parser.h @@ -9,6 +9,7 @@   * 2 of the Licence, or (at your option) any later version.   */ +#include <linux/time.h>  #include <crypto/public_key.h>  struct x509_certificate { @@ -20,13 +21,11 @@ struct x509_certificate {  	char		*authority;		/* Authority key fingerprint as hex */  	struct tm	valid_from;  	struct tm	valid_to; -	enum pkey_algo	pkey_algo : 8;		/* Public key algorithm */ -	enum pkey_algo	sig_pkey_algo : 8;	/* Signature public key algorithm */ -	enum pkey_hash_algo sig_hash_algo : 8;	/* Signature hash algorithm */  	const void	*tbs;			/* Signed data */ -	size_t		tbs_size;		/* Size of signed data */ -	const void	*sig;			/* Signature data */ -	size_t		sig_size;		/* Size of sigature */ +	unsigned	tbs_size;		/* Size of signed data */ +	unsigned	raw_sig_size;		/* Size of sigature */ +	const void	*raw_sig;		/* Signature data */ +	struct public_key_signature sig;	/* Signature parameters */  };  /* @@ -34,3 +33,10 @@ struct x509_certificate {   */  extern void x509_free_certificate(struct x509_certificate *cert);  extern struct x509_certificate *x509_cert_parse(const void *data, size_t datalen); + +/* + * x509_public_key.c + */ +extern int x509_get_sig_params(struct x509_certificate *cert); +extern int x509_check_signature(const struct public_key *pub, +				struct x509_certificate *cert);  | 
