From 27e4a2ee57d878ea664bb4ab3d2e614b211b96c0 Mon Sep 17 00:00:00 2001
From: Mark Spencer <markster@digium.com>
Date: Sat, 18 Sep 2004 23:39:39 +0000
Subject: [PATCH] Minor fixes

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 res/res_crypto.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/res/res_crypto.c b/res/res_crypto.c
index 6152d42b09..912d7c8c09 100755
--- a/res/res_crypto.c
+++ b/res/res_crypto.c
@@ -3,9 +3,9 @@
  *
  * Provide Cryptographic Signature capability
  * 
- * Copyright (C) 1999, Mark Spencer
+ * Copyright (C) 1999-2004, Digium, Inc.
  *
- * Mark Spencer <markster@linux-support.net>
+ * Mark Spencer <markster@digium.com>
  *
  * This program is free software, distributed under the terms of
  * the GNU General Public License
@@ -370,12 +370,14 @@ extern int ast_encrypt_bin(unsigned char *dst, const unsigned char *src, int src
 		bytes = srclen;
 		if (bytes > 128 - 41)
 			bytes = 128 - 41;
-		/* Process chunks 128 bytes at a time */
-		res = RSA_private_encrypt(bytes, src, dst, key->rsa, RSA_PKCS1_OAEP_PADDING);
-		if (res != 128)
+		/* Process chunks 128-41 bytes at a time */
+		res = RSA_public_encrypt(bytes, src, dst, key->rsa, RSA_PKCS1_OAEP_PADDING);
+		if (res != 128) {
+			ast_log(LOG_NOTICE, "How odd, encrypted size is %d\n", res);
 			return -1;
-		src += 128 - 41;
-		srclen -= 128 - 41;
+		}
+		src += bytes;
+		srclen -= bytes;
 		pos += res;
 		dst += res;
 	}
-- 
GitLab