Saltar al contenido

HMAC-SHA256 Generator

Introducción

El complemento HMAC-SHA256 Generator genera una firma de mensaje utilizando la función hash SHA-256. La firma se devuelve como una cadena codificada en hexadecimal en la variable de salida Jitterbit.HMACSHA256.Signature.

Este complemento está disponible de forma predeterminada en Grupos de Agentes en Nube y también se puede asociar con Grupos de Agentes Privados.

Importante

Los complementos proporcionados por Jitterbit están obsoletos. Ver Obsolescencia y soporte en Complementos.

Descargar y Agregar el Complemento

El complemento HMAC-SHA256 Generator es un complemento Jitterbit estándar que ya está disponible en Management Console Complementos y no es necesario descargarlo ni agregarlo a la organización.

Si lo indica Jitterbit Support, este complemento se puede descargar en los enlaces que se proporcionan a continuación y se puede agregar a la organización (consulte Agregar nuevos complementos en Personalizaciones > Complementos).

Harmony Jitterbit

Jitterbit v5.x

Asociar el Complemento con un Grupo de Agentes

Todas las versiones de Harmony del complemento HMAC-SHA256 Generator están asociadas con los Grupos de Agentes en Nube de forma predeterminada. Recomendamos usar la versión 1.2.0.0.

Si usa un Grupo de Agentes Privados, antes de poder usar el complemento, debe asociarlo con el Grupo de Agentes Privados para que el complemento esté disponible en todos los agentes del grupo (consulte Asociar grupos de Agente en Personalizaciones > Complementos).

El complemento aparece en la Management Console Complementos página con un nombre para mostrar de Generador Jitterbit HMAC-SHA256.

Establecer Variables y Usar el Complemento en un Proyecto

Consulte estos temas para obtener información sobre el uso de complementos en un proyecto:

Para usar el complemento del generador HMAC-SHA256, todas las variables globales requeridas deben configurarse en un secuencia de comandos para usar con el complemento. La siguiente tabla de entrada documenta todas las variables posibles para este complemento. La tabla de salida documenta la salida de la variable de firma por el complemento.

Aporte

Nombre Tipo Requerido Descripción
Jitterbit.HMACSHA256.Key Cadena Obligatorio La clave secreta.
Jitterbit.HMACSHA256.Message Cadena Obligatorio El mensaje para el que se va a crear una firma.
Jitterbit.HMACSHA256.Encoding Cadena Opcional La codificación que se usará al traducir la clave y el mensaje a bytes (por ejemplo, "UTF-8" o "ISO-8859-1"). Si no se establece este valor, se supondrá que tanto la clave como el mensaje son US-ASCII.
Jitterbit.HMACSHA256.Base64EncodedKey Booleano Opcional Ajustado a true para claves codificadas en base64. El valor predeterminado es false. Si se establece en true, el valor en el Jitterbit.HMACSHA256.Key la variable se trata como un valor codificado en base64.
Jitterbit.HMACSHA256.Base64EncodedMessage Booleano Opcional. Ajustado a true para mensajes codificados en base64. El valor predeterminado es false. Si se establece en true, el valor en el Jitterbit.HMACSHA256.Message la variable se trata como un valor codificado en base64.

Producción

Nombre Tipo Descripción
Jitterbit.HMACSHA256.Signature Cadena La variable devuelve la firma como una cadena codificada en hexadecimal.

Ejemplo 1

Esta secuencia de comandos de ejemplo establece las variables utilizadas como entrada para el complemento del generador HMAC-SHA256 y ejecuta el complemento.

<trans>
//Clear result:
$Jitterbit.HMACSHA256.Signature = "";

$Jitterbit.HMACSHA256.Key = "dGVzdA==";
$Jitterbit.HMACSHA256.Message = "Test";
$Jitterbit.HMACSHA256.Encoding = "UTF-8"; // optional
$Jitterbit.HMACSHA256.Base64EncodedKey = true;
$Jitterbit.HMACSHA256.Base64EncodedMessage = false;
eval(RunPlugin("<TAG>plugin:http://www.jitterbit.com/plugins/pipeline/user/HMACSHA256Generator</TAG>"), $error=GetLastError());
WriteToOperationLog("HMAC Signature: " + $Jitterbit.HMACSHA256.Signature);
</trans>

El resultado de ejecutar este secuencia de comandos es HMAC Signature: 52d7189b38b924d7ff81e70f1825993363df5bac2ffb2a03c73a0dbb4638759d.

Ejemplo 2 (AWS)

Este ejemplo utiliza secuencias de comandos para autenticarse con la API REST de AWS mediante AWS Signature Version 4. La primera secuencia de comandos establece las variables utilizadas como entrada para el complemento HMAC-SHA256 Generator y ejecuta el complemento. El segundo secuencia de comandos es para obtener la firma de AWS utilizando el primer secuencia de comandos.

Puede encontrar ejemplos de los valores que necesita pasar a AWS Signature Version 4 en la documentación de AWS Solicitudes de autenticación (AWS Signature Version 4). Para obtener asistencia adicional, contacte con el soporte.

Get HMAC-SHA256 Signature
<trans>
ArgumentList(key, message, encoding, keyEncoded, messageEncoded);

encoding = IfEmpty(encoding, "UTF-8");
keyEncoded = IfEmpty(keyEncoded, False);
messageEncoded = IfEmpty(messageEncoded, False);

$Jitterbit.HMACSHA256.Key = key;
$Jitterbit.HMACSHA256.Message = message;
$Jitterbit.HMACSHA256.Encoding = encoding;
$Jitterbit.HMACSHA256.Base64EncodedKey = keyEncoded;
$Jitterbit.HMACSHA256.Base64EncodedMessage = messageEncoded;
eval(RunPlugin("<TAG>plugin:http://www.jitterbit.com/plugins/pipeline/user/HMACSHA256Generator</TAG >"), $error=GetLastError());
$Jitterbit.HMACSHA256.Signature;
</trans>
AWS Signature
<trans>
ArgumentList(key, dateStamp, regionName, serviceName, package);

keySecret = ("AWS4" + key);
keyDate = RunScript("<TAG>Scripts/Get HMAC-SHA256 Signature</TAG>", keySecret, dateStamp, "", False, False);
keyRegion = RunScript("<TAG>Scripts/Get HMAC-SHA256 Signature</TAG>", Base64Encode(HexToBinary(keyDate)), regionName, "", True, False);
keyService = RunScript("<TAG>Scripts/Get HMAC-SHA256 Signature</TAG>", Base64Encode(HexToBinary(keyRegion)), serviceName, "", True, False);
keySigned = RunScript("<TAG>Scripts/Get HMAC-SHA256 Signature</TAG>", Base64Encode(HexToBinary(keyService)), package, "", True, False);
</trans>

Nota

La secuencia de comandos anterior utiliza referencias de elementos del proyecto en Design Studio sintaxis. Para usar la sintaxis en Cloud Studio, ver el RunScript documentación.