PKCS#7: Introduce pkcs7_get_digest()
authorThiago Jung Bauermann <bauerman@linux.ibm.com>
Fri, 28 Jun 2019 02:19:26 +0000 (23:19 -0300)
committerMimi Zohar <zohar@linux.ibm.com>
Mon, 5 Aug 2019 22:40:19 +0000 (18:40 -0400)
commite201af16d1ec76ccd19b90484d767984ff451f18
treef2e532988d868a67e3ca59c96e93a5a3e50f013f
parent2a7bf671186eb5d1a47ef192aefbdf788f5b38fe
PKCS#7: Introduce pkcs7_get_digest()

IMA will need to access the digest of the PKCS7 message (as calculated by
the kernel) before the signature is verified, so introduce
pkcs7_get_digest() for that purpose.

Also, modify pkcs7_digest() to detect when the digest was already
calculated so that it doesn't have to do redundant work. Verifying that
sinfo->sig->digest isn't NULL is sufficient because both places which
allocate sinfo->sig (pkcs7_parse_message() and pkcs7_note_signed_info())
use kzalloc() so sig->digest is always initialized to zero.

Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
Reviewed-by: Mimi Zohar <zohar@linux.ibm.com>
Cc: David Howells <dhowells@redhat.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
crypto/asymmetric_keys/pkcs7_verify.c
include/crypto/pkcs7.h