Búsqueda de sitios web

node.js - Crear firma RSA-SHA256 con clave PEM


He estado creando una puerta de enlace para un servicio heredado, este servicio heredado necesita una firma como parámetro del cuerpo de una solicitud PUT, para crear esta firma necesito seguir los siguientes pasos:

  1. Crea un hash con cierto texto como datos, este hash necesita ser SHA256.
  2. Encripta el resultado del hash usando RSA con una clave PEM
  3. Codifica el resultado del RSA a Base64

Siguiendo los pasos anteriores, creo el siguiente código

export class Signature {
  // class body
  public static sign(text: string){
    const key = readFileSync('key.pem')
    const passphrase = '12345678'
    const createdSign = createSign('RSA-SHA256')
    createdSign.write(text)
    createdSign.end()
    return createdSign.sign({ key, passphrase }).toString('base64')
  } 
}

Pero no estoy seguro si esta es la implementación correcta, tomando en consideración los pasos previos y la existencia de la API hash en NodeJS.

Si alguien pudiera decirme si estoy implementando correctamente este algoritmo.