Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created November 24, 2022 23:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/77a6f90a76a59a748c5f5d0414cba4a1 to your computer and use it in GitHub Desktop.
Save parzibyte/77a6f90a76a59a748c5f5d0414cba4a1 to your computer and use it in GitHub Desktop.
/*
Recibe la clavePublica, el mensaje que va a ser verificado y el mensaje firmadoEnBase64
Si devuelve nil es que está verificado
*/
func verificarFirma(clavePublicaComoCadena, mensaje, firmadoEnBase64 string) error {
clavePublica, err := ParseRsaPublicKeyFromPemStr(clavePublicaComoCadena)
mensajeFirmado, err := base64.StdEncoding.DecodeString(firmadoEnBase64)
if err != nil {
return err
}
sumaDeVerificacionDeMensaje, err := hashearMensaje(mensaje)
if err != nil {
return err
}
err = rsa.VerifyPSS(clavePublica, crypto.SHA256, sumaDeVerificacionDeMensaje, mensajeFirmado, nil)
if err != nil {
return err
}
return err
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment