Zhiyi Zhang : rsaenh: Move PKCS1 padding and unpadding functions.
Alexandre Julliard
julliard at winehq.org
Thu Oct 4 17:14:44 CDT 2018
Module: wine
Branch: master
Commit: 07232b3870b60fcd5cd5aadc923ab9085cdf8774
URL: https://source.winehq.org/git/wine.git/?a=commit;h=07232b3870b60fcd5cd5aadc923ab9085cdf8774
Author: Zhiyi Zhang <zzhang at codeweavers.com>
Date: Tue Oct 2 16:37:04 2018 +0800
rsaenh: Move PKCS1 padding and unpadding functions.
Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/rsaenh/rsaenh.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 48 insertions(+), 6 deletions(-)
diff --git a/dlls/rsaenh/rsaenh.c b/dlls/rsaenh/rsaenh.c
index 1332073..e4c6dd1 100644
--- a/dlls/rsaenh/rsaenh.c
+++ b/dlls/rsaenh/rsaenh.c
@@ -1655,7 +1655,7 @@ exit:
}
/******************************************************************************
- * pad_data [Internal]
+ * pad_data_pkcs1 [Internal]
*
* Helper function for data padding according to PKCS1 #2
*
@@ -1670,8 +1670,7 @@ exit:
* Success: TRUE
* Failure: FALSE (NTE_BAD_LEN, too much data to pad)
*/
-static BOOL pad_data(const BYTE *abData, DWORD dwDataLen, BYTE *abBuffer, DWORD dwBufferLen,
- DWORD dwFlags)
+static BOOL pad_data_pkcs1(const BYTE *abData, DWORD dwDataLen, BYTE *abBuffer, DWORD dwBufferLen, DWORD dwFlags)
{
DWORD i;
@@ -1696,7 +1695,29 @@ static BOOL pad_data(const BYTE *abData, DWORD dwDataLen, BYTE *abBuffer, DWORD
}
/******************************************************************************
- * unpad_data [Internal]
+ * pad_data [Internal]
+ *
+ * Helper function for data padding according to padding format
+ *
+ * PARAMS
+ * abData [I] The data to be padded
+ * dwDataLen [I] Length of the data
+ * abBuffer [O] Padded data will be stored here
+ * dwBufferLen [I] Length of the buffer (also length of padded data)
+ * dwFlags [I] 0 or CRYPT_SSL2_FALLBACK
+ *
+ * RETURN
+ * Success: TRUE
+ * Failure: FALSE
+ */
+static BOOL pad_data(const BYTE *abData, DWORD dwDataLen, BYTE *abBuffer, DWORD dwBufferLen,
+ DWORD dwFlags)
+{
+ return pad_data_pkcs1(abData, dwDataLen, abBuffer, dwBufferLen, dwFlags);
+}
+
+/******************************************************************************
+ * unpad_data_pkcs1 [Internal]
*
* Remove the PKCS1 padding from RSA decrypted data
*
@@ -1711,8 +1732,7 @@ static BOOL pad_data(const BYTE *abData, DWORD dwDataLen, BYTE *abBuffer, DWORD
* Success: TRUE
* Failure: FALSE, (NTE_BAD_DATA, no valid PKCS1 padding or buffer too small)
*/
-static BOOL unpad_data(const BYTE *abData, DWORD dwDataLen, BYTE *abBuffer, DWORD *dwBufferLen,
- DWORD dwFlags)
+static BOOL unpad_data_pkcs1(const BYTE *abData, DWORD dwDataLen, BYTE *abBuffer, DWORD *dwBufferLen, DWORD dwFlags)
{
DWORD i;
@@ -1738,6 +1758,28 @@ static BOOL unpad_data(const BYTE *abData, DWORD dwDataLen, BYTE *abBuffer, DWOR
}
/******************************************************************************
+ * unpad_data [Internal]
+ *
+ * Remove the padding from RSA decrypted data according to padding format
+ *
+ * PARAMS
+ * abData [I] The padded data
+ * dwDataLen [I] Length of the padded data
+ * abBuffer [O] Data without padding will be stored here
+ * dwBufferLen [I/O] I: Length of the buffer, O: Length of unpadded data
+ * dwFlags [I] Currently none defined
+ *
+ * RETURNS
+ * Success: TRUE
+ * Failure: FALSE
+ */
+static BOOL unpad_data(const BYTE *abData, DWORD dwDataLen, BYTE *abBuffer, DWORD *dwBufferLen,
+ DWORD dwFlags)
+{
+ return unpad_data_pkcs1(abData, dwDataLen, abBuffer, dwBufferLen, dwFlags);
+}
+
+/******************************************************************************
* CPAcquireContext (RSAENH.@)
*
* Acquire a handle to the key container specified by pszContainer
More information about the wine-cvs
mailing list