diff mbox series

[v3] pkcs7: make parser enable SM2 and SM3 algorithms combination

Message ID 20210624094705.48673-1-tianjia.zhang@linux.alibaba.com
State Superseded
Headers show
Series [v3] pkcs7: make parser enable SM2 and SM3 algorithms combination | expand

Commit Message

tianjia.zhang June 24, 2021, 9:47 a.m. UTC
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>
---
 crypto/asymmetric_keys/pkcs7_parser.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Vitaly Chikunov July 2, 2021, 2:39 p.m. UTC | #1
On Thu, Jun 24, 2021 at 05:47:05PM +0800, Tianjia Zhang wrote:
> 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>


This will conflict with the patch of Elvira Khabirova adding the same
for streebog/ecrdsa. Otherwise,

Reviewed-by: Vitaly Chikunov <vt@altlinux.org>


Thanks,

> ---

>  crypto/asymmetric_keys/pkcs7_parser.c | 7 +++++++

>  1 file changed, 7 insertions(+)

> 

> diff --git a/crypto/asymmetric_keys/pkcs7_parser.c b/crypto/asymmetric_keys/pkcs7_parser.c

> index 967329e0a07b..6cf6c4552c11 100644

> --- a/crypto/asymmetric_keys/pkcs7_parser.c

> +++ b/crypto/asymmetric_keys/pkcs7_parser.c

> @@ -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;

> @@ -269,6 +272,10 @@ int pkcs7_sig_note_pkey_algo(void *context, size_t hdrlen,

>  		ctx->sinfo->sig->pkey_algo = "rsa";

>  		ctx->sinfo->sig->encoding = "pkcs1";

>  		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;

> -- 

> 2.19.1.3.ge56e4f7
tianjia.zhang July 3, 2021, 1:37 a.m. UTC | #2
On 7/2/21 10:39 PM, Vitaly Chikunov wrote:
> On Thu, Jun 24, 2021 at 05:47:05PM +0800, Tianjia Zhang wrote:

>> 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>

> 

> This will conflict with the patch of Elvira Khabirova adding the same

> for streebog/ecrdsa. Otherwise,

> 

> Reviewed-by: Vitaly Chikunov <vt@altlinux.org>

> 

> Thanks,

> 


Thanks, I just saw it, I will contact Elvira Khabirova to consider 
whether it can be combined into a series of patches, and then resend.

Cheers,
Tianjia
Stefan Berger July 8, 2021, 10:30 p.m. UTC | #3
On 6/24/21 5:47 AM, Tianjia Zhang wrote:
> 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>

> ---

>   crypto/asymmetric_keys/pkcs7_parser.c | 7 +++++++

>   1 file changed, 7 insertions(+)

>

> diff --git a/crypto/asymmetric_keys/pkcs7_parser.c b/crypto/asymmetric_keys/pkcs7_parser.c

> index 967329e0a07b..6cf6c4552c11 100644

> --- a/crypto/asymmetric_keys/pkcs7_parser.c

> +++ b/crypto/asymmetric_keys/pkcs7_parser.c

> @@ -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;

> @@ -269,6 +272,10 @@ int pkcs7_sig_note_pkey_algo(void *context, size_t hdrlen,

>   		ctx->sinfo->sig->pkey_algo = "rsa";

>   		ctx->sinfo->sig->encoding = "pkcs1";

>   		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;



Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
tianjia.zhang Sept. 18, 2021, 2:25 a.m. UTC | #4
ping.

On 6/24/21 5:47 PM, Tianjia Zhang wrote:
> 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>

> ---

>   crypto/asymmetric_keys/pkcs7_parser.c | 7 +++++++

>   1 file changed, 7 insertions(+)

> 

> diff --git a/crypto/asymmetric_keys/pkcs7_parser.c b/crypto/asymmetric_keys/pkcs7_parser.c

> index 967329e0a07b..6cf6c4552c11 100644

> --- a/crypto/asymmetric_keys/pkcs7_parser.c

> +++ b/crypto/asymmetric_keys/pkcs7_parser.c

> @@ -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;

> @@ -269,6 +272,10 @@ int pkcs7_sig_note_pkey_algo(void *context, size_t hdrlen,

>   		ctx->sinfo->sig->pkey_algo = "rsa";

>   		ctx->sinfo->sig->encoding = "pkcs1";

>   		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;

>
Jarkko Sakkinen Sept. 21, 2021, 9:06 p.m. UTC | #5
On Sat, 2021-09-18 at 10:25 +0800, Tianjia Zhang wrote:
> ping.

> 

> On 6/24/21 5:47 PM, Tianjia Zhang wrote:

> > 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>

> > ---

> >   crypto/asymmetric_keys/pkcs7_parser.c | 7 +++++++

> >   1 file changed, 7 insertions(+)

> > 

> > diff --git a/crypto/asymmetric_keys/pkcs7_parser.c b/crypto/asymmetric_keys/pkcs7_parser.c

> > index 967329e0a07b..6cf6c4552c11 100644

> > --- a/crypto/asymmetric_keys/pkcs7_parser.c

> > +++ b/crypto/asymmetric_keys/pkcs7_parser.c

> > @@ -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;

> > @@ -269,6 +272,10 @@ int pkcs7_sig_note_pkey_algo(void *context, size_t hdrlen,

> >   		ctx->sinfo->sig->pkey_algo = "rsa";

> >   		ctx->sinfo->sig->encoding = "pkcs1";

> >   		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;

> > 


Acked-by: Jarkko Sakkinen <jarkko@kernel.org>


/Jarkko
diff mbox series

Patch

diff --git a/crypto/asymmetric_keys/pkcs7_parser.c b/crypto/asymmetric_keys/pkcs7_parser.c
index 967329e0a07b..6cf6c4552c11 100644
--- a/crypto/asymmetric_keys/pkcs7_parser.c
+++ b/crypto/asymmetric_keys/pkcs7_parser.c
@@ -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;
@@ -269,6 +272,10 @@  int pkcs7_sig_note_pkey_algo(void *context, size_t hdrlen,
 		ctx->sinfo->sig->pkey_algo = "rsa";
 		ctx->sinfo->sig->encoding = "pkcs1";
 		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;