57 lines
		
	
	
	
		
			2.5 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
	
		
			2.5 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 | 
						|
From: Shelley Vohr <shelley.vohr@gmail.com>
 | 
						|
Date: Wed, 23 Oct 2019 12:54:32 -0700
 | 
						|
Subject: fix: add RSA-PSS keygen functions
 | 
						|
 | 
						|
This adds support for missing RSA_PSS key generation functions.
 | 
						|
Refs https://github.com/nodejs/node/pull/26960.
 | 
						|
 | 
						|
Upstreamed at https://boringssl-review.googlesource.com/c/boringssl/+/38524.
 | 
						|
 | 
						|
diff --git a/crypto/evp/p_rsa.c b/crypto/evp/p_rsa.c
 | 
						|
index 865b36af9b830302fb1068c4965133213c1507dc..71b342f13db5f446aa15f070b6e4aef9b8c25939 100644
 | 
						|
--- a/crypto/evp/p_rsa.c
 | 
						|
+++ b/crypto/evp/p_rsa.c
 | 
						|
@@ -569,6 +569,19 @@ int EVP_PKEY_CTX_get_rsa_padding(EVP_PKEY_CTX *ctx, int *out_padding) {
 | 
						|
                            0, out_padding);
 | 
						|
 }
 | 
						|
 
 | 
						|
+int EVP_PKEY_CTX_set_rsa_pss_keygen_md(EVP_PKEY_CTX *ctx, const EVP_MD *md) {
 | 
						|
+  return 0;
 | 
						|
+}
 | 
						|
+
 | 
						|
+int EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(EVP_PKEY_CTX *ctx, int salt_len) {
 | 
						|
+  return 0;
 | 
						|
+}
 | 
						|
+
 | 
						|
+int EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(EVP_PKEY_CTX *ctx,
 | 
						|
+                                            const EVP_MD *md) {
 | 
						|
+  return 0;
 | 
						|
+}
 | 
						|
+
 | 
						|
 int EVP_PKEY_CTX_set_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int salt_len) {
 | 
						|
   return EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA,
 | 
						|
                            (EVP_PKEY_OP_SIGN | EVP_PKEY_OP_VERIFY),
 | 
						|
diff --git a/include/openssl/evp.h b/include/openssl/evp.h
 | 
						|
index ad9c05e052756715e3fe67bf9517863ede027d5b..d1729cfc8beefd2cb20abf05043fed43e566a312 100644
 | 
						|
--- a/include/openssl/evp.h
 | 
						|
+++ b/include/openssl/evp.h
 | 
						|
@@ -723,6 +723,18 @@ OPENSSL_EXPORT int EVP_PKEY_CTX_set_rsa_padding(EVP_PKEY_CTX *ctx, int padding);
 | 
						|
 OPENSSL_EXPORT int EVP_PKEY_CTX_get_rsa_padding(EVP_PKEY_CTX *ctx,
 | 
						|
                                                 int *out_padding);
 | 
						|
 
 | 
						|
+// EVP_PKEY_CTX_set_rsa_pss_keygen_md() always returns 0.
 | 
						|
+OPENSSL_EXPORT int EVP_PKEY_CTX_set_rsa_pss_keygen_md(EVP_PKEY_CTX *ctx,
 | 
						|
+                                                      const EVP_MD *md);
 | 
						|
+
 | 
						|
+// EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen() always returns 0.
 | 
						|
+OPENSSL_EXPORT int EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(EVP_PKEY_CTX *ctx,
 | 
						|
+                                                           int salt_len);
 | 
						|
+
 | 
						|
+// EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md() always returns 0.
 | 
						|
+OPENSSL_EXPORT int EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(EVP_PKEY_CTX *ctx,
 | 
						|
+                                                           const EVP_MD *md);
 | 
						|
+
 | 
						|
 // EVP_PKEY_CTX_set_rsa_pss_saltlen sets the length of the salt in a PSS-padded
 | 
						|
 // signature. A value of -1 cause the salt to be the same length as the digest
 | 
						|
 // in the signature. A value of -2 causes the salt to be the maximum length
 |