Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3fe78ca2 authored by Dmitry Kasatkin's avatar Dmitry Kasatkin Committed by Mimi Zohar
Browse files

keys: change asymmetric keys to use common hash definitions



This patch makes use of the newly defined common hash algorithm info,
replacing, for example, PKEY_HASH with HASH_ALGO.

Changelog:
- Lindent fixes - Mimi

CC: David Howells <dhowells@redhat.com>
Signed-off-by: default avatarDmitry Kasatkin <d.kasatkin@samsung.com>
Signed-off-by: default avatarMimi Zohar <zohar@linux.vnet.ibm.com>
parent ee08997f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ config ASYMMETRIC_PUBLIC_KEY_SUBTYPE
	tristate "Asymmetric public-key crypto algorithm subtype"
	select MPILIB
	select PUBLIC_KEY_ALGO_RSA
	select CRYPTO_HASH_INFO
	help
	  This option provides support for asymmetric public key type handling.
	  If signature generation and/or verification are to be used,
+0 −12
Original line number Diff line number Diff line
@@ -36,18 +36,6 @@ const struct public_key_algorithm *pkey_algo[PKEY_ALGO__LAST] = {
};
EXPORT_SYMBOL_GPL(pkey_algo);

const char *const pkey_hash_algo_name[PKEY_HASH__LAST] = {
	[PKEY_HASH_MD4]		= "md4",
	[PKEY_HASH_MD5]		= "md5",
	[PKEY_HASH_SHA1]	= "sha1",
	[PKEY_HASH_RIPE_MD_160]	= "rmd160",
	[PKEY_HASH_SHA256]	= "sha256",
	[PKEY_HASH_SHA384]	= "sha384",
	[PKEY_HASH_SHA512]	= "sha512",
	[PKEY_HASH_SHA224]	= "sha224",
};
EXPORT_SYMBOL_GPL(pkey_hash_algo_name);

const char *const pkey_id_type_name[PKEY_ID_TYPE__LAST] = {
	[PKEY_ID_PGP]		= "PGP",
	[PKEY_ID_X509]		= "X509",
+7 −7
Original line number Diff line number Diff line
@@ -73,13 +73,13 @@ static const struct {
	size_t size;
} RSA_ASN1_templates[PKEY_HASH__LAST] = {
#define _(X) { RSA_digest_info_##X, sizeof(RSA_digest_info_##X) }
	[PKEY_HASH_MD5]		= _(MD5),
	[PKEY_HASH_SHA1]	= _(SHA1),
	[PKEY_HASH_RIPE_MD_160]	= _(RIPE_MD_160),
	[PKEY_HASH_SHA256]	= _(SHA256),
	[PKEY_HASH_SHA384]	= _(SHA384),
	[PKEY_HASH_SHA512]	= _(SHA512),
	[PKEY_HASH_SHA224]	= _(SHA224),
	[HASH_ALGO_MD5]		= _(MD5),
	[HASH_ALGO_SHA1]	= _(SHA1),
	[HASH_ALGO_RIPE_MD_160]	= _(RIPE_MD_160),
	[HASH_ALGO_SHA256]	= _(SHA256),
	[HASH_ALGO_SHA384]	= _(SHA384),
	[HASH_ALGO_SHA512]	= _(SHA512),
	[HASH_ALGO_SHA224]	= _(SHA224),
#undef _
};

+6 −6
Original line number Diff line number Diff line
@@ -154,32 +154,32 @@ int x509_note_pkey_algo(void *context, size_t hdrlen,
		return -ENOPKG; /* Unsupported combination */

	case OID_md4WithRSAEncryption:
		ctx->cert->sig.pkey_hash_algo = PKEY_HASH_MD5;
		ctx->cert->sig.pkey_hash_algo = HASH_ALGO_MD5;
		ctx->cert->sig.pkey_algo = PKEY_ALGO_RSA;
		break;

	case OID_sha1WithRSAEncryption:
		ctx->cert->sig.pkey_hash_algo = PKEY_HASH_SHA1;
		ctx->cert->sig.pkey_hash_algo = HASH_ALGO_SHA1;
		ctx->cert->sig.pkey_algo = PKEY_ALGO_RSA;
		break;

	case OID_sha256WithRSAEncryption:
		ctx->cert->sig.pkey_hash_algo = PKEY_HASH_SHA256;
		ctx->cert->sig.pkey_hash_algo = HASH_ALGO_SHA256;
		ctx->cert->sig.pkey_algo = PKEY_ALGO_RSA;
		break;

	case OID_sha384WithRSAEncryption:
		ctx->cert->sig.pkey_hash_algo = PKEY_HASH_SHA384;
		ctx->cert->sig.pkey_hash_algo = HASH_ALGO_SHA384;
		ctx->cert->sig.pkey_algo = PKEY_ALGO_RSA;
		break;

	case OID_sha512WithRSAEncryption:
		ctx->cert->sig.pkey_hash_algo = PKEY_HASH_SHA512;
		ctx->cert->sig.pkey_hash_algo = HASH_ALGO_SHA512;
		ctx->cert->sig.pkey_algo = PKEY_ALGO_RSA;
		break;

	case OID_sha224WithRSAEncryption:
		ctx->cert->sig.pkey_hash_algo = PKEY_HASH_SHA224;
		ctx->cert->sig.pkey_hash_algo = HASH_ALGO_SHA224;
		ctx->cert->sig.pkey_algo = PKEY_ALGO_RSA;
		break;
	}
+2 −0
Original line number Diff line number Diff line
@@ -21,6 +21,8 @@ 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 hash_algo sig_hash_algo : 8;	/* Signature hash algorithm */
	const void	*tbs;			/* Signed data */
	unsigned	tbs_size;		/* Size of signed data */
	unsigned	raw_sig_size;		/* Size of sigature */
Loading