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 la nube de Jitterbit y también pueden asociarse con grupos de agentes privados.

Importante

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

Descargue y Agregue el Complemento

El complemento generador HMAC-SHA256 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 el soporte lo indica, este complemento se puede descargar en los enlaces que se proporcionan a continuación y agregarlo a la organización (consulte Agregar nuevos complementos en Personalizaciones > Complementos).

Harmony

v5.x

Asociar el Complemento con un Grupo de Agentes

Todas las versiones Harmony del complemento Generador HMAC-SHA256 están asociadas con grupos de agentes en la nube Jitterbit de forma predeterminada. Recomendamos utilizar la versión 1.2.0.0.

Si utiliza un grupo de agentes privado, antes de poder utilizar el complemento, debe asociarlo con el grupo de agentes privado para que el complemento esté disponible para todos los agentes del grupo (consulte Asociar grupos de agentes en Personalizaciones > Complementos).

El complemento aparece en la Management Console Complementos página con el nombre de visualización 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 utilizar el complemento 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 resultados documenta la variable de firma generada por el complemento.

Aporte

Nombre Tipo Obligatorio Descripción
Jitterbit.HMACSHA256.Key Cadena Obligatorio La clave secreta.
Jitterbit.HMACSHA256.Message Cadena Obligatorio El mensaje para el cual se creará una firma.
Jitterbit.HMACSHA256.Encoding Cadena Opcional La codificación a utilizar al traducir la clave y el mensaje a bytes (p. ej. "UTF-8" o "ISO-8859-1"). Si no se establece este valor, se asumirá que tanto la clave como el mensaje son US-ASCII.
Jitterbit.HMACSHA256.Base64EncodedKey Booleano Opcional Establecer en 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.TABLEROWEND
Jitterbit.HMACSHA256.Base64EncodedMessage Booleano Opcional. Establecido en 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.TABLEROWEND

Producción

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

Ejemplo 1

Este secuencia de comandos de ejemplo establece las variables utilizadas como entrada para el complemento 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 versión 4. La primera secuencia de comandos establece las variables utilizadas como entrada para el complemento Generador HMAC-SHA256 y ejecuta el complemento. El segundo secuencia de comandos sirve para obtener la firma de AWS utilizando el primer secuencia de comandos.

Se pueden encontrar ejemplos de los valores que necesita pasar a la firma de AWS versión 4 en la documentación de AWS Solicitudes de autenticación (firma de AWS versión 4). Para obtener ayuda adicional, por favor contactar al 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

El 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.