Actualmente para yo generar el sello con sha1 uso :
Código: Seleccionar todo
donde :
RutaArchivoPFX, es la ruta de mi pfx que generé usando openssl
ContraseñaPFX , contraseña del archivo pfx
XMLstring, cadena con el xml
GetCadenaOriginalCo33, función que genera la cadena, aunque mal como ya dijo dado no lleva impuestos(el sat tiene mal el xlst)
Dim objCert As New X509Certificates.X509Certificate2(RutaArchivoPFX, ContraseñaPFX)
Dim lRSA As RSACryptoServiceProvider = CType(objCert.PrivateKey, RSACryptoServiceProvider)
Dim SHA As New SHA1CryptoServiceProvider()
Dim Cadena As String = GetCadenaOriginalCo33(XMLstring)
Dim Sellobase64 As String = ""
Dim bytesFirmados As Byte() = lRSA.SignData(System.Text.Encoding.UTF8.GetBytes(Cadena), SHA)
Sellobase64 = Convert.ToBase64String(bytesFirmados)
Entonces creí que si movía la línea:
Código: Seleccionar todo
Dim SHA As New SHA1CryptoServiceProvider()
por
Código: Seleccionar todo
Dim SHA As New SHA256CryptoServiceProvider()
Ya iba a quedar y no, me marca valor no válido, alguien que quiera compartir su solución ?, gracias y saludos