aboutsummaryrefslogtreecommitdiffstats
path: root/src/crypto/cms.c
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2024-08-18 10:43:52 +0100
committerMichael Brown <mcb30@ipxe.org>2024-08-18 15:44:38 +0100
commit53f089b723e16eecb4fd2e2a59b74b3932431b30 (patch)
treeb18d3ae4d8de119a6afb23c01ea3e9df069a0173 /src/crypto/cms.c
parent950f6b5861d8d6b247b37e4e1401d26d8f908ee8 (diff)
downloadipxe-53f089b723e16eecb4fd2e2a59b74b3932431b30.tar.gz
[crypto] Pass asymmetric keys as ASN.1 cursors
Asymmetric keys are invariably encountered within ASN.1 structures such as X.509 certificates, and the various large integers within an RSA key are themselves encoded using ASN.1. Simplify all code handling asymmetric keys by passing keys as a single ASN.1 cursor, rather than separate data and length pointers. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/crypto/cms.c')
-rw-r--r--src/crypto/cms.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/crypto/cms.c b/src/crypto/cms.c
index 1f33613f4..0b772f1cf 100644
--- a/src/crypto/cms.c
+++ b/src/crypto/cms.c
@@ -621,8 +621,7 @@ static int cms_verify_digest ( struct cms_message *cms,
cms_digest ( cms, part, data, len, digest_out );
/* Initialise public-key algorithm */
- if ( ( rc = pubkey_init ( pubkey, ctx, public_key->raw.data,
- public_key->raw.len ) ) != 0 ) {
+ if ( ( rc = pubkey_init ( pubkey, ctx, &public_key->raw ) ) != 0 ) {
DBGC ( cms, "CMS %p/%p could not initialise public key: %s\n",
cms, part, strerror ( rc ) );
goto err_init;