myloveCc / NETCore.Encrypt

NETCore encrypt and decrypt tool,Include aes,des,rsa,md5,sha1,sha256,sha384,sha512
MIT License
609 stars 156 forks source link

RSA Error while trying to encrypt a long string (245+ characters) #18

Closed OrihuelaConde closed 6 years ago

OrihuelaConde commented 6 years ago

String to encrypt:

eyJNb2R1bHVzIjoidHVSL1V1dFVSV0RSVElDYTFFRDcraUF2MUVnQUl0dC9oNkhHc0x6SG80QXAyVVdqWGtvRkp4T1NuRmdhY3d4cWM0WUg5UDdRaVIxQ1lCK3lvMnJUbkhZbVIrYWs2V3RJRU1YNWtmTTJrWHBNUVY2aFBrd0FxRTFpU1pWRUM2eXlmeTNGZUJTVmNnVlUwMFpJMGozbzhqT3ZMOXhneGhmT1J1eTcwM1RUbXdFPSIsIkV4cG9uZW50IjoiQVFBQiIsIlAiOiI3MVNIYVRnK2JvOXhzRnEzSXlrcHRFUXVHUXZTNDNEUDFoM04xcVlBN1E1VHpoS0IydEc1RWxvamtYTkF4d0VVVStxSnZMWDBxTHdzd09zRkhaL3lydz09IiwiUSI6Inc2R2ltem84a0lUL0xuS2U0Sk5QTUt2YTlVVzBSZUZlVzA5U1ZtVnFVWS9VeHl2eU9kemowd3JzTTZib1ZCU1JnZi9SbUZwRUZ1bUZTVW9yVWkxNVR3PT0iLCJEUCI6Im9yNXpPaXloMzZLeFozKzRhek54aFlDYmJES3JIRGc1VEZ1Ri9rRngvY0V4WWI4YUNFZDJ0ekVPWUxqandxOU1PR2dUYzN5enV3NEN6TWpEK01vc1J3PT0iLCJEUSI6InMvNGhhQVM2K0pVRlhDemxkT2JVTTRuTEdXUWFxempoNGMwbmlvb2d1ZzVGelVMbnlNa3RiRjFlV1YrMTNyWlY4bS8yM2VBZlNaMXRuckw1RE5EK0RRPT0iLCJJbnZlcnNlUSI6IlBPSkRGUk03MmVxd0R3TytldDFpTzIwTWlQcFVEUS93N1hEMHBMLzJWYTE4OEgrRGlaK0NuZDJRdnFYZyt4NFdNZSsrVlVNYXo2bWM3V1g4WnBaWW9RPT0iLCJEIjoiWE1QUEZPYktDcHFON21pNG4zb0tsSmFveTlwdFAwRG9FWXBydGc4NmoyS2RWMWZzQWhJM1JOZTNvRmRMcXhrY0VWWmxTTTNLUmhHeUxnRkY0WDk0cnVIYjBQeC9LZVQxMW1BeDNvQ2NCRVlWelhabXlIUHQzWCs2dlBMZzdmYUhtRmlxK3N0Y2NMTlBNSEdna2lkWTF6NGtiTXZwZnBlOWxhN0VMWUdKM21VPSJ9

Another string tried:

La mayoría de los senadores del PJ no votaron alineados con los gobernadores Fuente: DyN - Crédito: Prensa Senado de la Nación La dinámica se repite. La mayoría de los gobernadores del PJ y de partidos provinciales defienden en público posiciones que luego los senadores de sus provincias, y sus partidos, contradicen en el recinto. La votación esta madrugada del proyecto para retrotraer las tarifas a noviembre pasado, cuyo veto ya fue anunciado por el Gobierno, volvió a dejar en evidencia ese doble juego. De hecho en la Casa Rosada resaltan que sólo 7 de los 19 gobernadores opositores jugaron favorablemente. Los gobernadores, por su parte, suelen argumentar que los legisladores no les responden automáticamente. Los senadores de las provincias cuyos gobernadores rechazaron el proyecto opositor contra el tarifazo votaron en su mayoría a favor de la iniciativa. Algunos de esos mandatarios se encontrarán con Mauricio Macri en las próximas horas. ADEMÁS Es el caso del tucumano Juan Manzur . Los senadores peronistas de su provincia, José Alperovich y Beatriz Mirkin apoyaron el proyecto que finalmente quedó sancionado con 37 votos afirmativos y 30 en contra. Tampoco la gobernadora de Catamarca, Lucía Corpacci , que hoy se reunirá con Macri en Salta , aportó a que la iniciativa perdiera fuerza en el Senado. La apoyaron Dalmacio Mera (un senador vinculado al gobernador Juan Manuel Urtubey y que había firmado en disidencia el dictmane) e Inés Blas. El santiagueño Gerardo Zamora , por su parte, aportó la ausencia de la peronista Blanca Porcel. Sin embargo, los otros dos senadores, que también le responden, Ada Itúrrez y Gerardo Montenegro apoyaron el proyecto opositor. Algo similar ocurrió con el gobernador de San Juan, Sergio Uñac que sumó una ausencia, la de Cristina López Valverde, pero no pudo evitar que su hermano Rubén votara a favor de la iniciativa. Aunque nunca estuvo en las cuentas de la Casa Rosada, tampoco rechazó el proyecto el senador cordobés Carlos Caserio, alineado con el gobernador Juan Schiaretti . Tampoco en el caso de Gustavo Bordet , otro de los gobernadores que en público había rechazado no solo el contenido del proyecto opositor, sino también la facultad del Congreso para modificar las tarifas, esa posición tuvo correlato en los votos en el Senado. Los peronistas entrerrianos Pedro Guastavino y Sigrid Kunath respaldaron el freno al tarifazo. Aunque en las últimas semanas el chaqueño Domingo Peppo evitó manifestarse en público, -avanzan varias causas de corrupción que alcanzan a exfuncionarios de su gobierno-, tampoco él pudo evitar que el peronista Eduardo Aguilar y la kirchnerista Inés Pilatti votaran en contra. Sí lo hicieron, en cambio, los senadores salteños Cristina Fiore Viñuales y Rodolfo Urtubey. El gobernador Juan Manuel Urtubey estuvo con Macri la semana pasada y le presentó a Macri el proyecto para bajar tarifas recortando el IVA a los servicios, que apoyaban otros jefes provinciales como Schiaretti. El gobernador salteño había dicho en público que el proyecto que se aprobó hoy es malo.

Used code:

EncryptProvider.RSAEncrypt(GetPublicKey(), plainText, RSAEncryptionPadding.Pkcs1);

Error in Client (.Net 4.6.1):

e.Message Longitud incorrecta. (Incorrect length)

e.Source mscorlib

e.StackTrace en System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr) en System.Security.Cryptography.RSACryptoServiceProvider.EncryptKey(SafeKeyHandle pKeyContext, Byte[] pbKey, Int32 cbKey, Boolean fOAEP, ObjectHandleOnStack ohRetEncryptedKey) en System.Security.Cryptography.RSACryptoServiceProvider.Encrypt(Byte[] rgb, Boolean fOAEP) en System.Security.Cryptography.RSACryptoServiceProvider.Encrypt(Byte[] data, RSAEncryptionPadding padding) en NETCore.Encrypt.EncryptProvider.RSAEncrypt(String publicKey, String srcString, RSAEncryptionPadding padding)

Error in Server (.Net Core 2.0.7):

e.Message El parámetro no es correcto (The parameter is not correct)

e.Source System.Security.Cryptography.Algorithms

e.StackTrace at System.Security.Cryptography.RSAImplementation.RSACng.EncryptOrDecrypt(SafeNCryptKeyHandle key, Byte[] input, AsymmetricPaddingMode paddingMode, Void* paddingInfo, EncryptOrDecryptAction encryptOrDecrypt) at System.Security.Cryptography.RSAImplementation.RSACng.EncryptOrDecrypt(Byte[] data, RSAEncryptionPadding padding, EncryptOrDecryptAction encryptOrDecrypt) at System.Security.Cryptography.RSAImplementation.RSACng.Encrypt(Byte[] data, RSAEncryptionPadding padding) at NETCore.Encrypt.EncryptProvider.RSAEncrypt(String publicKey, String srcString, RSAEncryptionPadding padding)

OrihuelaConde commented 6 years ago

After investigating (https://stackoverflow.com/questions/1496793/rsa-encryption-getting-bad-length) I noticed that RSA has a limit. It would be nice if EncryptProvider.RSAEncrypt throw an exception about that.

myloveCc commented 6 years ago

Thanks for your suggest. I have already add the 'OutofMaxlengthException' for rsa encrypt.