Error Occurred While Decoding Oaep Padding. Rsa
Contents |
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us Learn more
System.security.cryptography.cryptographicexception: Error Occurred While Decoding Oaep Padding
about Stack Overflow the company Business Learn more about hiring developers or posting error occurred while decoding oaep padding powershell ads with us Stack Overflow Questions Jobs Documentation Tags Users Badges Ask Question x Dismiss Join the Stack Overflow Community Stack error occurred while decoding oaep padding rsacryptoserviceprovider Overflow is a community of 4.7 million programmers, just like you, helping each other. Join them; it only takes a minute: Sign up RSACryptoServiceProvider error occurred while decoding OAEP padding up vote -1 down
Rsa Oaep Padding C#
vote favorite I've read many articles regarding this problem and I cannot seem to find an answer that solves my bug. I have a WCF service; my app sends the public RSA key generated and the service returns a set of AES key+IV encrypted with the public key, but when my app then tries to decrypt the keys, I either get "Error occurred while decoding OAEP padding" (if I
Error Occurred While Decoding Oaep Padding Saml
pass true to useOAEP) or "The parameter is incorrect" (if I pass false to useOAEP). For simplicity, this is the entire code used put together, leaving Exception handling aside: public static string EncryptAES(byte[] aesKey, byte[] aesIV, string publicRSAKey) { using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()) { rsa.FromXmlString(publicRSAKey); byte[] encryptedKey = rsa.Encrypt(aesKey, true); byte[] encryptedIV = rsa.Encrypt(aesIV, true); return string.Format("{0}{1}{2}", Convert.ToBase64String(encryptedKey), "\n", Convert.ToBase64String(encryptedIV)); } } public static byte[] Decrypt(string aesKeyorIV) { using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()) { byte[] buffer = Convert.FromBase64String(aesKeyorIV); rsa.FromXmlString(RSA_Private_Key); return rsa.Decrypt(buffer, true); //Exception thrown here } } (RSA_Private_Key is generated in the static constructor using rsa.ToXmlString(true)) (publicRSAKey is passed to the service by sending rsa.ToXmlString(false) in the static constuctor) I tried using Encrypt/Decrypt(byte[], false) but it didn't make any difference. I also tried Array.Reverse(encryptedKey) and then Array.Reverse(buffer). The private key is never sent/modified after it's set so that cannot be it. I'm out of ideas and debugging the WCF service is pretty horrible. c# wcf encryption rsa share|improve this question edited Sep 1 '15 at 2:05 Andrew Savinykh 11.2k64372 asked Sep 1 '15 at 1:10 Camilo Terevinto 2,57031033 @zespri, I said I'm encrypting the AES key with RSA. Besides, I am not getting any error regarding bad length. –Camilo Terevint
Common Language Runtime Internals and Architecture Question 1 Sign in to vote while doing asymetic encryption method I am oaep padding example using public key of a digital signature for encrypting. and private
Sviconfig Finished With An Error. Exit Code: 4
key for decrypting. I am able to encrypt the data successfully. but while decrypting i am getting rsacryptoserviceprovider oaep padding the error as Error occurred while decoding OAEP padding.my piece of code is #region Test Encryption public void a() { using (var rsa = new RSACryptoServiceProvider()) { // http://stackoverflow.com/questions/32322113/rsacryptoserviceprovider-error-occurred-while-decoding-oaep-padding This String consists only Public Key Information String publicKeyOnly = rsa.ToXmlString(false); // This String consists both Private/Public Key information String publicPrivate = rsa.ToXmlString(true); } } //encrypt public byte[] b(String publicKeyOnly) { String s = "
Tips/Tricks Top Articles Beginner Articles Technical Blogs Posting/Update Guidelines Article Help Forum Article Competition Submit an article http://www.codeproject.com/Questions/66541/Error-occurred-while-decoding-OAEP-padding or tip Post your Blog quick answersQ&A Ask a Question http://beachbc.blogspot.com/2008/12/rsa-in-c-net.html View Unanswered Questions View All Questions... C# questions Linux questions ASP.NET questions SQL questions VB.NET questions discussionsforums All Message Boards... Application Lifecycle> Running a Business Sales / Marketing Collaboration / Beta Testing Work Issues Design and Architecture ASP.NET JavaScript C / oaep padding C++ / MFC> ATL / WTL / STL Managed C++/CLI C# Free Tools Objective-C and Swift Database Hardware & Devices> System Admin Hosting and Servers Java .NET Framework Android iOS Mobile SharePoint Silverlight / WPF Visual Basic Web Development Site Bugs / Suggestions Spam and Abuse Watch features Competitions News The error occurred while Insider Newsletter The Daily Build Newsletter Newsletter archive Surveys Product Showcase Research Library CodeProject Stuff communitylounge Who's Who Most Valuable Professionals The Lounge The Insider News The Weird & The Wonderful The Soapbox Press Releases Non-English Language > General Indian Topics General Chinese Topics help What is 'CodeProject'? General FAQ Ask a Question Bugs and Suggestions Article Help Forum Site Map Advertise with us About our Advertising Employment Opportunities About Us Ask a Question All Questions All Unanswered FAQ Error occurred while decoding OAEP padding Rate this: Please Sign up or sign in to vote. See more: C# Hi all, I have developed a web service that encrypts a connection string and passes back the encrypted string to a console application (test purposes). The web service runs on a different PC than the console application. But I keep receiving the following exception message: Error occurred while decoding OAEP padding.
encrypted string.Decrypt: takes an encrypted string and returns a plain text string.1)Server:Generate a RSA public and private key.Pass the public key in plain text to the client2)Client:Pass a plain string to RSAObjectPass encrypted string from RSAObject to Server.3)Server:Pass encrypted string to RSAObjectUse decrypted string from RSAObject.PROBLEMS:My origional code for encrypting and decrypting data:public string Encrypt(string plainText) { try { byte[] plainData = Encoding.UTF32.GetBytes(plainText); byte[] encryptedData = crypto.Encrypt(plainData, true); return Encoding.UTF32.GetString(encryptedData); } catch (Exception ex) { Console.WriteLine(ex.ToString()); return ""; } } public string Decrypt(string encryptedText) { try { byte[] encryptedData = Encoding.UTF32.GetString(encryptedText); byte[] plainData = crypto.Decrypt(encryptedData, true); return Encoding.UTF32.GetString(plainData); } catch (Exception ex) { Console.WriteLine(ex.ToString()); return ""; } }All I would get during decryption from crypto, a RSACryptoServiceProvider object, was one of two exceptions:Bad LengthError occurred while decoding OAEP padding.After reading up more on RSA I discovered that a UTF32(32bit) can't properly handle the data returned by crypto.Encrypt, therefore some of my bytes were being changed in the conversion process to UTF32, and therefor could not be decrypted. use Convert.ToBase64String(string)SOLUTION:Encrypt method needs to convert to a 64bit string.Decrypt method needs to convert from a 64bit string.fixed and working source code:public string Encrypt(string plainText) { try { byte[] plainData = Encoding.UTF32.GetBytes(plainText); byte[] encryptedData = crypto.Encrypt(plainData, true); return Convert.ToBase64String(encryptedData); } catch (Exception ex) { Console.WriteLine(ex.ToString()); return ""; } } public string Decrypt(string encryptedText) { try { byte[] encryptedData = Convert.FromBase64String(encryptedText); byte[] plainData = crypto.Decrypt(encryptedData, true); return Encoding.UTF32.GetString(plainData); } catch (Exception ex) { Console.WriteLine(ex.ToString()); return ""; } }cheers,-bb Posted by Bradley Beach at 3:38 PM Labels: .NET, c#, c