pkcs7: parser support SM2 and SM3 algorithms combination
authorTianjia Zhang <tianjia.zhang@linux.alibaba.com>
Mon, 27 Jun 2022 09:21:41 +0000 (17:21 +0800)
committerJarkko Sakkinen <jarkko@kernel.org>
Wed, 3 Aug 2022 20:56:20 +0000 (23:56 +0300)
Support parsing the message signature of the SM2 and SM3 algorithm
combination. This group of algorithms has been well supported. One
of the main users is module signature verification.

Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
Reviewed-by: Vitaly Chikunov <vt@altlinux.org>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
crypto/asymmetric_keys/pkcs7_parser.c

index 6592279..24e2e4a 100644 (file)
@@ -248,6 +248,9 @@ int pkcs7_sig_note_digest_algo(void *context, size_t hdrlen,
        case OID_sha224:
                ctx->sinfo->sig->hash_algo = "sha224";
                break;
+       case OID_sm3:
+               ctx->sinfo->sig->hash_algo = "sm3";
+               break;
        default:
                printk("Unsupported digest algo: %u\n", ctx->last_oid);
                return -ENOPKG;
@@ -277,6 +280,10 @@ int pkcs7_sig_note_pkey_algo(void *context, size_t hdrlen,
                ctx->sinfo->sig->pkey_algo = "ecdsa";
                ctx->sinfo->sig->encoding = "x962";
                break;
+       case OID_SM2_with_SM3:
+               ctx->sinfo->sig->pkey_algo = "sm2";
+               ctx->sinfo->sig->encoding = "raw";
+               break;
        default:
                printk("Unsupported pkey algo: %u\n", ctx->last_oid);
                return -ENOPKG;