#ifndef NO_RSA
#include <openssl/rsa.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* RSAeuro */
/*#define RSAref_MAX_BITS 2048*/
#define RE_SIGNATURE_ENCODING 0x040c
#define RE_ENCRYPTION_ALGORITHM 0x040d
-int RSAPrivateDecrypt(unsigned char *to, int *outlen, unsigned char *from,
+int RSAPrivateDecrypt(unsigned char *to, int *outlen,
+ const unsigned char *from,
int len, RSArefPrivateKey *RSAkey);
-int RSAPrivateEncrypt(unsigned char *to, int *outlen, unsigned char *from,
+int RSAPrivateEncrypt(unsigned char *to, int *outlen,
+ const unsigned char *from,
int len, RSArefPrivateKey *RSAkey);
-int RSAPublicDecrypt(unsigned char *to, int *outlen, unsigned char *from,
+int RSAPublicDecrypt(unsigned char *to, int *outlen,
+ const unsigned char *from,
int len, RSArefPublicKey *RSAkey);
-int RSAPublicEncrypt(unsigned char *to, int *outlen, unsigned char *from,
+int RSAPublicEncrypt(unsigned char *to, int *outlen,
+ const unsigned char *from,
int len, RSArefPublicKey *RSAkey,RSARandomState *rnd);
int R_RandomInit(RSARandomState *rnd);
int R_GetRandomBytesNeeded(unsigned int *,RSARandomState *rnd);
-int R_RandomUpdate(RSARandomState *rnd, unsigned char *data, unsigned int n);
+int R_RandomUpdate(RSARandomState *rnd,
+ const unsigned char *data, unsigned int n);
int R_RandomFinal(RSARandomState *rnd);
void ERR_load_RSAREF_strings(void );
-RSA_METHOD *RSA_PKCS1_RSAref(void );
+const RSA_METHOD *RSA_PKCS1_RSAref(void );
+
+#ifdef __cplusplus
+}
+#endif
#endif
/* BEGIN ERROR CODES */
#define RSAREF_R_SIGNATURE 0x040b
#define RSAREF_R_SIGNATURE_ENCODING 0x040c
-#ifdef __cplusplus
-}
#endif
-#endif
-