os/ossrv/ssl/libcrypto/src/crypto/rsa/rsa_err.c
changeset 0 bde4ae8d615e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/os/ossrv/ssl/libcrypto/src/crypto/rsa/rsa_err.c	Fri Jun 15 03:10:57 2012 +0200
     1.3 @@ -0,0 +1,273 @@
     1.4 +/* crypto/rsa/rsa_err.c */
     1.5 +/* ====================================================================
     1.6 + * Copyright (c) 1999-2005 The OpenSSL Project.  All rights reserved.
     1.7 + *
     1.8 + * Redistribution and use in source and binary forms, with or without
     1.9 + * modification, are permitted provided that the following conditions
    1.10 + * are met:
    1.11 + *
    1.12 + * 1. Redistributions of source code must retain the above copyright
    1.13 + *    notice, this list of conditions and the following disclaimer. 
    1.14 + *
    1.15 + * 2. Redistributions in binary form must reproduce the above copyright
    1.16 + *    notice, this list of conditions and the following disclaimer in
    1.17 + *    the documentation and/or other materials provided with the
    1.18 + *    distribution.
    1.19 + *
    1.20 + * 3. All advertising materials mentioning features or use of this
    1.21 + *    software must display the following acknowledgment:
    1.22 + *    "This product includes software developed by the OpenSSL Project
    1.23 + *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
    1.24 + *
    1.25 + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
    1.26 + *    endorse or promote products derived from this software without
    1.27 + *    prior written permission. For written permission, please contact
    1.28 + *    openssl-core@OpenSSL.org.
    1.29 + *
    1.30 + * 5. Products derived from this software may not be called "OpenSSL"
    1.31 + *    nor may "OpenSSL" appear in their names without prior written
    1.32 + *    permission of the OpenSSL Project.
    1.33 + *
    1.34 + * 6. Redistributions of any form whatsoever must retain the following
    1.35 + *    acknowledgment:
    1.36 + *    "This product includes software developed by the OpenSSL Project
    1.37 + *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
    1.38 + *
    1.39 + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
    1.40 + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    1.41 + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    1.42 + * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
    1.43 + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    1.44 + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    1.45 + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
    1.46 + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    1.47 + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
    1.48 + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    1.49 + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
    1.50 + * OF THE POSSIBILITY OF SUCH DAMAGE.
    1.51 + * ====================================================================
    1.52 + *
    1.53 + * This product includes cryptographic software written by Eric Young
    1.54 + * (eay@cryptsoft.com).  This product includes software written by Tim
    1.55 + * Hudson (tjh@cryptsoft.com).
    1.56 + *
    1.57 + */
    1.58 +/*
    1.59 + © Portions copyright (c) 2006 Nokia Corporation.  All rights reserved.
    1.60 + */
    1.61 +
    1.62 +
    1.63 +/* NOTE: this file was auto generated by the mkerr.pl script: any changes
    1.64 + * made to it will be overwritten when the script next updates this file,
    1.65 + * only reason strings will be preserved.
    1.66 + */
    1.67 +
    1.68 +#include <stdio.h>
    1.69 +#include <openssl/err.h>
    1.70 +#include <openssl/rsa.h>
    1.71 +#if (defined(SYMBIAN) && (defined(__WINSCW__) || defined(__WINS__)))
    1.72 +#include "libcrypto_wsd_macros.h"
    1.73 +#include "libcrypto_wsd.h"
    1.74 +#endif
    1.75 +
    1.76 +/* BEGIN ERROR CODES */
    1.77 +#ifndef OPENSSL_NO_ERR
    1.78 +
    1.79 +#define ERR_FUNC(func) ERR_PACK(ERR_LIB_RSA,func,0)
    1.80 +#define ERR_REASON(reason) ERR_PACK(ERR_LIB_RSA,0,reason)
    1.81 +#ifndef EMULATOR	
    1.82 +static ERR_STRING_DATA RSA_str_functs[]=
    1.83 +	{
    1.84 +{ERR_FUNC(RSA_F_MEMORY_LOCK),	"MEMORY_LOCK"},
    1.85 +{ERR_FUNC(RSA_F_RSA_BUILTIN_KEYGEN),	"RSA_BUILTIN_KEYGEN"},
    1.86 +{ERR_FUNC(RSA_F_RSA_CHECK_KEY),	"RSA_check_key"},
    1.87 +{ERR_FUNC(RSA_F_RSA_EAY_PRIVATE_DECRYPT),	"RSA_EAY_PRIVATE_DECRYPT"},
    1.88 +{ERR_FUNC(RSA_F_RSA_EAY_PRIVATE_ENCRYPT),	"RSA_EAY_PRIVATE_ENCRYPT"},
    1.89 +{ERR_FUNC(RSA_F_RSA_EAY_PUBLIC_DECRYPT),	"RSA_EAY_PUBLIC_DECRYPT"},
    1.90 +{ERR_FUNC(RSA_F_RSA_EAY_PUBLIC_ENCRYPT),	"RSA_EAY_PUBLIC_ENCRYPT"},
    1.91 +{ERR_FUNC(RSA_F_RSA_GENERATE_KEY),	"RSA_generate_key"},
    1.92 +{ERR_FUNC(RSA_F_RSA_MEMORY_LOCK),	"RSA_memory_lock"},
    1.93 +{ERR_FUNC(RSA_F_RSA_NEW_METHOD),	"RSA_new_method"},
    1.94 +{ERR_FUNC(RSA_F_RSA_NULL),	"RSA_NULL"},
    1.95 +{ERR_FUNC(RSA_F_RSA_NULL_MOD_EXP),	"RSA_NULL_MOD_EXP"},
    1.96 +{ERR_FUNC(RSA_F_RSA_NULL_PRIVATE_DECRYPT),	"RSA_NULL_PRIVATE_DECRYPT"},
    1.97 +{ERR_FUNC(RSA_F_RSA_NULL_PRIVATE_ENCRYPT),	"RSA_NULL_PRIVATE_ENCRYPT"},
    1.98 +{ERR_FUNC(RSA_F_RSA_NULL_PUBLIC_DECRYPT),	"RSA_NULL_PUBLIC_DECRYPT"},
    1.99 +{ERR_FUNC(RSA_F_RSA_NULL_PUBLIC_ENCRYPT),	"RSA_NULL_PUBLIC_ENCRYPT"},
   1.100 +{ERR_FUNC(RSA_F_RSA_PADDING_ADD_NONE),	"RSA_padding_add_none"},
   1.101 +{ERR_FUNC(RSA_F_RSA_PADDING_ADD_PKCS1_OAEP),	"RSA_padding_add_PKCS1_OAEP"},
   1.102 +{ERR_FUNC(RSA_F_RSA_PADDING_ADD_PKCS1_PSS),	"RSA_PADDING_ADD_PKCS1_PSS"},
   1.103 +{ERR_FUNC(RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_1),	"RSA_padding_add_PKCS1_type_1"},
   1.104 +{ERR_FUNC(RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_2),	"RSA_padding_add_PKCS1_type_2"},
   1.105 +{ERR_FUNC(RSA_F_RSA_PADDING_ADD_SSLV23),	"RSA_padding_add_SSLv23"},
   1.106 +{ERR_FUNC(RSA_F_RSA_PADDING_ADD_X931),	"RSA_padding_add_X931"},
   1.107 +{ERR_FUNC(RSA_F_RSA_PADDING_CHECK_NONE),	"RSA_padding_check_none"},
   1.108 +{ERR_FUNC(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP),	"RSA_padding_check_PKCS1_OAEP"},
   1.109 +{ERR_FUNC(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_1),	"RSA_padding_check_PKCS1_type_1"},
   1.110 +{ERR_FUNC(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2),	"RSA_padding_check_PKCS1_type_2"},
   1.111 +{ERR_FUNC(RSA_F_RSA_PADDING_CHECK_SSLV23),	"RSA_padding_check_SSLv23"},
   1.112 +{ERR_FUNC(RSA_F_RSA_PADDING_CHECK_X931),	"RSA_padding_check_X931"},
   1.113 +{ERR_FUNC(RSA_F_RSA_PRINT),	"RSA_print"},
   1.114 +{ERR_FUNC(RSA_F_RSA_PRINT_FP),	"RSA_print_fp"},
   1.115 +{ERR_FUNC(RSA_F_RSA_SETUP_BLINDING),	"RSA_setup_blinding"},
   1.116 +{ERR_FUNC(RSA_F_RSA_SIGN),	"RSA_sign"},
   1.117 +{ERR_FUNC(RSA_F_RSA_SIGN_ASN1_OCTET_STRING),	"RSA_sign_ASN1_OCTET_STRING"},
   1.118 +{ERR_FUNC(RSA_F_RSA_VERIFY),	"RSA_verify"},
   1.119 +{ERR_FUNC(RSA_F_RSA_VERIFY_ASN1_OCTET_STRING),	"RSA_verify_ASN1_OCTET_STRING"},
   1.120 +{ERR_FUNC(RSA_F_RSA_VERIFY_PKCS1_PSS),	"RSA_VERIFY_PKCS1_PSS"},
   1.121 +{0,NULL}
   1.122 +	};
   1.123 +
   1.124 +static ERR_STRING_DATA RSA_str_reasons[]=
   1.125 +	{
   1.126 +{ERR_REASON(RSA_R_ALGORITHM_MISMATCH)    ,"algorithm mismatch"},
   1.127 +{ERR_REASON(RSA_R_BAD_E_VALUE)           ,"bad e value"},
   1.128 +{ERR_REASON(RSA_R_BAD_FIXED_HEADER_DECRYPT),"bad fixed header decrypt"},
   1.129 +{ERR_REASON(RSA_R_BAD_PAD_BYTE_COUNT)    ,"bad pad byte count"},
   1.130 +{ERR_REASON(RSA_R_BAD_SIGNATURE)         ,"bad signature"},
   1.131 +{ERR_REASON(RSA_R_BLOCK_TYPE_IS_NOT_01)  ,"block type is not 01"},
   1.132 +{ERR_REASON(RSA_R_BLOCK_TYPE_IS_NOT_02)  ,"block type is not 02"},
   1.133 +{ERR_REASON(RSA_R_DATA_GREATER_THAN_MOD_LEN),"data greater than mod len"},
   1.134 +{ERR_REASON(RSA_R_DATA_TOO_LARGE)        ,"data too large"},
   1.135 +{ERR_REASON(RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE),"data too large for key size"},
   1.136 +{ERR_REASON(RSA_R_DATA_TOO_LARGE_FOR_MODULUS),"data too large for modulus"},
   1.137 +{ERR_REASON(RSA_R_DATA_TOO_SMALL)        ,"data too small"},
   1.138 +{ERR_REASON(RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE),"data too small for key size"},
   1.139 +{ERR_REASON(RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY),"digest too big for rsa key"},
   1.140 +{ERR_REASON(RSA_R_DMP1_NOT_CONGRUENT_TO_D),"dmp1 not congruent to d"},
   1.141 +{ERR_REASON(RSA_R_DMQ1_NOT_CONGRUENT_TO_D),"dmq1 not congruent to d"},
   1.142 +{ERR_REASON(RSA_R_D_E_NOT_CONGRUENT_TO_1),"d e not congruent to 1"},
   1.143 +{ERR_REASON(RSA_R_FIRST_OCTET_INVALID)   ,"first octet invalid"},
   1.144 +{ERR_REASON(RSA_R_INVALID_HEADER)        ,"invalid header"},
   1.145 +{ERR_REASON(RSA_R_INVALID_MESSAGE_LENGTH),"invalid message length"},
   1.146 +{ERR_REASON(RSA_R_INVALID_PADDING)       ,"invalid padding"},
   1.147 +{ERR_REASON(RSA_R_INVALID_TRAILER)       ,"invalid trailer"},
   1.148 +{ERR_REASON(RSA_R_IQMP_NOT_INVERSE_OF_Q) ,"iqmp not inverse of q"},
   1.149 +{ERR_REASON(RSA_R_KEY_SIZE_TOO_SMALL)    ,"key size too small"},
   1.150 +{ERR_REASON(RSA_R_LAST_OCTET_INVALID)    ,"last octet invalid"},
   1.151 +{ERR_REASON(RSA_R_MODULUS_TOO_LARGE)     ,"modulus too large"},
   1.152 +{ERR_REASON(RSA_R_NO_PUBLIC_EXPONENT)    ,"no public exponent"},
   1.153 +{ERR_REASON(RSA_R_NULL_BEFORE_BLOCK_MISSING),"null before block missing"},
   1.154 +{ERR_REASON(RSA_R_N_DOES_NOT_EQUAL_P_Q)  ,"n does not equal p q"},
   1.155 +{ERR_REASON(RSA_R_OAEP_DECODING_ERROR)   ,"oaep decoding error"},
   1.156 +{ERR_REASON(RSA_R_SLEN_RECOVERY_FAILED)  ,"salt length recovery failed"},
   1.157 +{ERR_REASON(RSA_R_PADDING_CHECK_FAILED)  ,"padding check failed"},
   1.158 +{ERR_REASON(RSA_R_P_NOT_PRIME)           ,"p not prime"},
   1.159 +{ERR_REASON(RSA_R_Q_NOT_PRIME)           ,"q not prime"},
   1.160 +{ERR_REASON(RSA_R_RSA_OPERATIONS_NOT_SUPPORTED),"rsa operations not supported"},
   1.161 +{ERR_REASON(RSA_R_SSLV3_ROLLBACK_ATTACK) ,"sslv3 rollback attack"},
   1.162 +{ERR_REASON(RSA_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD),"the asn1 object identifier is not known for this md"},
   1.163 +{ERR_REASON(RSA_R_UNKNOWN_ALGORITHM_TYPE),"unknown algorithm type"},
   1.164 +{ERR_REASON(RSA_R_UNKNOWN_PADDING_TYPE)  ,"unknown padding type"},
   1.165 +{ERR_REASON(RSA_R_WRONG_SIGNATURE_LENGTH),"wrong signature length"},
   1.166 +{ERR_REASON(RSA_R_SLEN_CHECK_FAILED)     ,"salt length check failed"},
   1.167 +{0,NULL}
   1.168 +	};
   1.169 +
   1.170 +#else //EMULATOR
   1.171 +const ERR_STRING_DATA temp_RSA_str_functs[]=
   1.172 +	{
   1.173 +{ERR_FUNC(RSA_F_MEMORY_LOCK),	"MEMORY_LOCK"},
   1.174 +{ERR_FUNC(RSA_F_RSA_BUILTIN_KEYGEN),	"RSA_BUILTIN_KEYGEN"},
   1.175 +{ERR_FUNC(RSA_F_RSA_CHECK_KEY),	"RSA_check_key"},
   1.176 +{ERR_FUNC(RSA_F_RSA_EAY_PRIVATE_DECRYPT),	"RSA_EAY_PRIVATE_DECRYPT"},
   1.177 +{ERR_FUNC(RSA_F_RSA_EAY_PRIVATE_ENCRYPT),	"RSA_EAY_PRIVATE_ENCRYPT"},
   1.178 +{ERR_FUNC(RSA_F_RSA_EAY_PUBLIC_DECRYPT),	"RSA_EAY_PUBLIC_DECRYPT"},
   1.179 +{ERR_FUNC(RSA_F_RSA_EAY_PUBLIC_ENCRYPT),	"RSA_EAY_PUBLIC_ENCRYPT"},
   1.180 +{ERR_FUNC(RSA_F_RSA_GENERATE_KEY),	"RSA_generate_key"},
   1.181 +{ERR_FUNC(RSA_F_RSA_MEMORY_LOCK),	"RSA_memory_lock"},
   1.182 +{ERR_FUNC(RSA_F_RSA_NEW_METHOD),	"RSA_new_method"},
   1.183 +{ERR_FUNC(RSA_F_RSA_NULL),	"RSA_NULL"},
   1.184 +{ERR_FUNC(RSA_F_RSA_NULL_MOD_EXP),	"RSA_NULL_MOD_EXP"},
   1.185 +{ERR_FUNC(RSA_F_RSA_NULL_PRIVATE_DECRYPT),	"RSA_NULL_PRIVATE_DECRYPT"},
   1.186 +{ERR_FUNC(RSA_F_RSA_NULL_PRIVATE_ENCRYPT),	"RSA_NULL_PRIVATE_ENCRYPT"},
   1.187 +{ERR_FUNC(RSA_F_RSA_NULL_PUBLIC_DECRYPT),	"RSA_NULL_PUBLIC_DECRYPT"},
   1.188 +{ERR_FUNC(RSA_F_RSA_NULL_PUBLIC_ENCRYPT),	"RSA_NULL_PUBLIC_ENCRYPT"},
   1.189 +{ERR_FUNC(RSA_F_RSA_PADDING_ADD_NONE),	"RSA_padding_add_none"},
   1.190 +{ERR_FUNC(RSA_F_RSA_PADDING_ADD_PKCS1_OAEP),	"RSA_padding_add_PKCS1_OAEP"},
   1.191 +{ERR_FUNC(RSA_F_RSA_PADDING_ADD_PKCS1_PSS),	"RSA_padding_add_PKCS1_PSS"},
   1.192 +{ERR_FUNC(RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_1),	"RSA_padding_add_PKCS1_type_1"},
   1.193 +{ERR_FUNC(RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_2),	"RSA_padding_add_PKCS1_type_2"},
   1.194 +{ERR_FUNC(RSA_F_RSA_PADDING_ADD_SSLV23),	"RSA_padding_add_SSLv23"},
   1.195 +{ERR_FUNC(RSA_F_RSA_PADDING_ADD_X931),	"RSA_padding_add_X931"},
   1.196 +{ERR_FUNC(RSA_F_RSA_PADDING_CHECK_NONE),	"RSA_padding_check_none"},
   1.197 +{ERR_FUNC(RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP),	"RSA_padding_check_PKCS1_OAEP"},
   1.198 +{ERR_FUNC(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_1),	"RSA_padding_check_PKCS1_type_1"},
   1.199 +{ERR_FUNC(RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2),	"RSA_padding_check_PKCS1_type_2"},
   1.200 +{ERR_FUNC(RSA_F_RSA_PADDING_CHECK_SSLV23),	"RSA_padding_check_SSLv23"},
   1.201 +{ERR_FUNC(RSA_F_RSA_PADDING_CHECK_X931),	"RSA_padding_check_X931"},
   1.202 +{ERR_FUNC(RSA_F_RSA_PRINT),	"RSA_print"},
   1.203 +{ERR_FUNC(RSA_F_RSA_PRINT_FP),	"RSA_print_fp"},
   1.204 +{ERR_FUNC(RSA_F_RSA_SETUP_BLINDING),	"RSA_setup_blinding"},
   1.205 +{ERR_FUNC(RSA_F_RSA_SIGN),	"RSA_sign"},
   1.206 +{ERR_FUNC(RSA_F_RSA_SIGN_ASN1_OCTET_STRING),	"RSA_sign_ASN1_OCTET_STRING"},
   1.207 +{ERR_FUNC(RSA_F_RSA_VERIFY),	"RSA_verify"},
   1.208 +{ERR_FUNC(RSA_F_RSA_VERIFY_ASN1_OCTET_STRING),	"RSA_verify_ASN1_OCTET_STRING"},
   1.209 +{ERR_FUNC(RSA_F_RSA_VERIFY_PKCS1_PSS),	"RSA_verify_PKCS1_PSS"},
   1.210 +{0,NULL}
   1.211 +	};
   1.212 +
   1.213 +const  ERR_STRING_DATA temp_RSA_str_reasons[]=
   1.214 +	{
   1.215 +{ERR_REASON(RSA_R_ALGORITHM_MISMATCH)    ,"algorithm mismatch"},
   1.216 +{ERR_REASON(RSA_R_BAD_E_VALUE)           ,"bad e value"},
   1.217 +{ERR_REASON(RSA_R_BAD_FIXED_HEADER_DECRYPT),"bad fixed header decrypt"},
   1.218 +{ERR_REASON(RSA_R_BAD_PAD_BYTE_COUNT)    ,"bad pad byte count"},
   1.219 +{ERR_REASON(RSA_R_BAD_SIGNATURE)         ,"bad signature"},
   1.220 +{ERR_REASON(RSA_R_BLOCK_TYPE_IS_NOT_01)  ,"block type is not 01"},
   1.221 +{ERR_REASON(RSA_R_BLOCK_TYPE_IS_NOT_02)  ,"block type is not 02"},
   1.222 +{ERR_REASON(RSA_R_DATA_GREATER_THAN_MOD_LEN),"data greater than mod len"},
   1.223 +{ERR_REASON(RSA_R_DATA_TOO_LARGE)        ,"data too large"},
   1.224 +{ERR_REASON(RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE),"data too large for key size"},
   1.225 +{ERR_REASON(RSA_R_DATA_TOO_LARGE_FOR_MODULUS),"data too large for modulus"},
   1.226 +{ERR_REASON(RSA_R_DATA_TOO_SMALL)        ,"data too small"},
   1.227 +{ERR_REASON(RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE),"data too small for key size"},
   1.228 +{ERR_REASON(RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY),"digest too big for rsa key"},
   1.229 +{ERR_REASON(RSA_R_DMP1_NOT_CONGRUENT_TO_D),"dmp1 not congruent to d"},
   1.230 +{ERR_REASON(RSA_R_DMQ1_NOT_CONGRUENT_TO_D),"dmq1 not congruent to d"},
   1.231 +{ERR_REASON(RSA_R_D_E_NOT_CONGRUENT_TO_1),"d e not congruent to 1"},
   1.232 +{ERR_REASON(RSA_R_FIRST_OCTET_INVALID)   ,"first octet invalid"},
   1.233 +{ERR_REASON(RSA_R_INVALID_HEADER)        ,"invalid header"},
   1.234 +{ERR_REASON(RSA_R_INVALID_MESSAGE_LENGTH),"invalid message length"},
   1.235 +{ERR_REASON(RSA_R_INVALID_PADDING)       ,"invalid padding"},
   1.236 +{ERR_REASON(RSA_R_INVALID_TRAILER)       ,"invalid trailer"},
   1.237 +{ERR_REASON(RSA_R_IQMP_NOT_INVERSE_OF_Q) ,"iqmp not inverse of q"},
   1.238 +{ERR_REASON(RSA_R_KEY_SIZE_TOO_SMALL)    ,"key size too small"},
   1.239 +{ERR_REASON(RSA_R_LAST_OCTET_INVALID)    ,"last octet invalid"},
   1.240 +{ERR_REASON(RSA_R_MODULUS_TOO_LARGE)     ,"modulus too large"},
   1.241 +{ERR_REASON(RSA_R_NO_PUBLIC_EXPONENT)    ,"no public exponent"},
   1.242 +{ERR_REASON(RSA_R_NULL_BEFORE_BLOCK_MISSING),"null before block missing"},
   1.243 +{ERR_REASON(RSA_R_N_DOES_NOT_EQUAL_P_Q)  ,"n does not equal p q"},
   1.244 +{ERR_REASON(RSA_R_OAEP_DECODING_ERROR)   ,"oaep decoding error"},
   1.245 +{ERR_REASON(RSA_R_PADDING_CHECK_FAILED)  ,"padding check failed"},
   1.246 +{ERR_REASON(RSA_R_P_NOT_PRIME)           ,"p not prime"},
   1.247 +{ERR_REASON(RSA_R_Q_NOT_PRIME)           ,"q not prime"},
   1.248 +{ERR_REASON(RSA_R_RSA_OPERATIONS_NOT_SUPPORTED),"rsa operations not supported"},
   1.249 +{ERR_REASON(RSA_R_SLEN_CHECK_FAILED)     ,"salt length check failed"},
   1.250 +{ERR_REASON(RSA_R_SLEN_RECOVERY_FAILED)  ,"salt length recovery failed"},
   1.251 +{ERR_REASON(RSA_R_SSLV3_ROLLBACK_ATTACK) ,"sslv3 rollback attack"},
   1.252 +{ERR_REASON(RSA_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD),"the asn1 object identifier is not known for this md"},
   1.253 +{ERR_REASON(RSA_R_UNKNOWN_ALGORITHM_TYPE),"unknown algorithm type"},
   1.254 +{ERR_REASON(RSA_R_UNKNOWN_PADDING_TYPE)  ,"unknown padding type"},
   1.255 +{ERR_REASON(RSA_R_WRONG_SIGNATURE_LENGTH),"wrong signature length"},
   1.256 +{0,NULL}
   1.257 +	};
   1.258 +
   1.259 + GET_STATIC_ARRAY_FROM_TLS(RSA_str_functs,rsa_err,ERR_STRING_DATA)
   1.260 + GET_STATIC_ARRAY_FROM_TLS(RSA_str_reasons,rsa_err,ERR_STRING_DATA)
   1.261 + #define RSA_str_functs (GET_WSD_VAR_NAME(RSA_str_functs,rsa_err, s)())
   1.262 + #define RSA_str_reasons (GET_WSD_VAR_NAME(RSA_str_reasons,rsa_err, s)())
   1.263 +#endif //EMULATOR
   1.264 +#endif
   1.265 +
   1.266 +EXPORT_C void ERR_load_RSA_strings(void)
   1.267 +	{
   1.268 +#ifndef OPENSSL_NO_ERR
   1.269 +
   1.270 +	if (ERR_func_error_string(RSA_str_functs[0].error) == NULL)
   1.271 +		{
   1.272 +		ERR_load_strings(0,RSA_str_functs);
   1.273 +		ERR_load_strings(0,RSA_str_reasons);
   1.274 +		}
   1.275 +#endif
   1.276 +	}