Nagaveni Katari

Nagaveni Katari

  • 1.3k
  • 106
  • 7.4k

Token Generate

May 24 2023 9:11 AM

 public static string GenerateToken(string privateKey, string jsonData)
        {
            var pubkey = ConvertKeyToXml(privateKey);
            using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
            {
                try
                {
                    rsa.FromXmlString(pubkey);
                    byte[] jsonBytes = Encoding.UTF8.GetBytes(jsonData);
                    using (SHA256 sha256 = SHA256.Create())
                    {
                        byte[] hash = sha256.ComputeHash(jsonBytes);
                        byte[] signatureBytes = rsa.SignHash(hash, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1);  ------>Here I got error
                        string token = Convert.ToBase64String(signatureBytes);
                        return token;
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"Error while generating tokens: {ex.Message}");
                    throw;
                }
            }
        }

 public static string ConvertKeyToXml(string publickey)
        {
            byte[] keyBytes = Convert.FromBase64String(publickey);
            
            RSAParameters rsaParameters = new RSAParameters();
            rsaParameters.Modulus = GetBytesFromArray(keyBytes, 28, 128);
            rsaParameters.Exponent = GetBytesFromArray(keyBytes, 156, 3);

            RSA rsa = RSA.Create();
            rsa.ImportParameters(rsaParameters);

            string publicKeyXml = rsa.ToXmlString(false);
            return publicKeyXml;
        }

But I got error : Keyset does not exist

I have private key and jsondata if any one tell the Error and send me the Best Solution

 

 


Answers (6)