[selene-tls] push by p...@querna.org - Add sln_rsa_size, and fix error checking in _encrypt on 2011-08-15 01:18 GMT

0 views
Skip to first unread message

selen...@googlecode.com

unread,
Aug 14, 2011, 9:31:03 PM8/14/11
to selene-...@googlegroups.com
Revision: 051fefb6f4f7
Author: Paul Querna <pqu...@apache.org>
Date: Sun Aug 14 18:18:39 2011
Log: Add sln_rsa_size, and fix error checking in _encrypt

http://code.google.com/p/selene-tls/source/detail?r=051fefb6f4f7

Modified:
/include/private/sln_rsa.h
/lib/crypto/rsa_openssl.c

=======================================
--- /include/private/sln_rsa.h Sun Aug 14 00:05:14 2011
+++ /include/private/sln_rsa.h Sun Aug 14 18:18:39 2011
@@ -22,17 +22,20 @@
#ifdef SLN_HAVE_OSX_COMMONCRYPTO
selene_error_t* sln_rsa_osx_cc_public_encrypt(selene_t *s, sln_pubkey_t
*key,
const char *input, size_t
inputlen, char *output);
+size_t sln_rsa_osx_cc_size(sln_pubkey_t *key);
#endif

selene_error_t* sln_rsa_openssl_public_encrypt(selene_t *s, sln_pubkey_t
*key,
const char *input, size_t
inputlen, char *output);
+size_t sln_rsa_openssl_size(sln_pubkey_t *key);
+

#if defined(SLN_HAVE_OSX_COMMONCRYPTO) && defined(__never__)
-/* Use OSX native methods if available */
#define sln_rsa_public_encrypt sln_rsa_osx_cc_public_encrypt
+#define sln_rsa_size sln_rsa_osx_cc_size
#else
-/* OpenSSL Fallbacks */
#define sln_rsa_public_encrypt sln_rsa_openssl_public_encrypt
+#define sln_rsa_size sln_rsa_openssl_size
#endif

#endif
=======================================
--- /lib/crypto/rsa_openssl.c Sun Aug 14 00:05:14 2011
+++ /lib/crypto/rsa_openssl.c Sun Aug 14 18:18:39 2011
@@ -34,7 +34,7 @@
(unsigned char *)output,
rsa, RSA_PKCS1_PADDING);

- if (err) {
+ if (err == -1) {
char buf[121];
unsigned long e = ERR_get_error();
return selene_error_createf(SELENE_EINVAL,
@@ -44,3 +44,13 @@

return SELENE_SUCCESS;
}
+
+size_t
+sln_rsa_openssl_size(sln_pubkey_t *key)
+{
+ RSA *rsa = key->key->pkey.rsa;
+
+ SLN_ASSERT(key->key->type == EVP_PKEY_RSA);
+
+ return RSA_size(rsa);
+}

Reply all
Reply to author
Forward
0 new messages