none
Cómo firmar datos en .NET Core con un certificado X509? RRS feed

  • Pregunta

  • Estoy trabajando con .net core 2.2 no se si esta sea la forma correcta de generar la firma ya que en otro ejemplo en .net no me funciona

                X509Certificate2 x509 = new X509Certificate2(ruta,password);
                RSA rsaProvider =(RSA)x509.PrivateKey;
    
                SHA256 hasher = SHA256CryptoServiceProvider.Create();
    
                byte[] hashValue = rsaProvider.SignData(System.Text.Encoding.UTF8.GetBytes(cadenaOriginal), HashAlgorithmName.SHA256, RSASignaturePadding.Pss);
                

    El ejemplo que me enviaron es el siguiente. pero truena a la hora de obtener la llave privada

      X509Certificate2 x509 = new X509Certificate2(ruta,password);
                RSACryptoServiceProvider rsaProvider=(RSACryptoServiceProvider)x509.PrivateKey;
                SHA256 hasher = SHA256CryptoServiceProvider.Create();
                byte[] hashValue =rsaProvider.SignData(System.Text.Encoding.UTF8.GetBytes(cadenaOriginal), hasher);


    Url


    • Editado Juanppa viernes, 21 de febrero de 2020 2:07 error de texto
    viernes, 21 de febrero de 2020 2:07

Todas las respuestas

  • Hola, qué error te da cuando dices que "truena"? Puedes aportar más información? Gracias

    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    viernes, 21 de febrero de 2020 8:41
    Moderador
  • Hola al parecer es un problema por versión de framework baje de nivel 4.5 y si me funciona pero el error es el siguiente 

    Unable to cast object of type 'System.Security.Cryptography.RSACng' to type 'System.Security.Cryptography.RSACryptoServiceProvider'.


    Url

    viernes, 21 de febrero de 2020 18:30