feat(cryptography/actions): add output encoding field
This commit is contained in:
@@ -27,19 +27,33 @@ export default defineAction({
|
|||||||
variables: true,
|
variables: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Secret key',
|
label: 'Secret Key',
|
||||||
key: 'secretKey',
|
key: 'secretKey',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
required: true,
|
required: true,
|
||||||
description: 'The secret key used to create the HMAC.',
|
description: 'The secret key used to create the HMAC.',
|
||||||
variables: true,
|
variables: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: 'Output Encoding',
|
||||||
|
key: 'outputEncoding',
|
||||||
|
type: 'dropdown',
|
||||||
|
required: true,
|
||||||
|
value: 'hex',
|
||||||
|
description: 'Specifies the encoding format for the HMAC digest output.',
|
||||||
|
options: [
|
||||||
|
{ label: 'base64', value: 'base64' },
|
||||||
|
{ label: 'base64url', value: 'base64url' },
|
||||||
|
{ label: 'hex', value: 'hex' },
|
||||||
|
],
|
||||||
|
variables: true,
|
||||||
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
async run($) {
|
async run($) {
|
||||||
const hash = createHmac($.step.parameters.algorithm, $.step.parameters.secretKey)
|
const hash = createHmac($.step.parameters.algorithm, $.step.parameters.secretKey)
|
||||||
.update($.step.parameters.message)
|
.update($.step.parameters.message)
|
||||||
.digest('hex');
|
.digest($.step.parameters.outputEncoding);
|
||||||
|
|
||||||
$.setActionItem({
|
$.setActionItem({
|
||||||
raw: {
|
raw: {
|
||||||
|
@@ -27,20 +27,34 @@ export default defineAction({
|
|||||||
variables: true,
|
variables: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: 'Private key',
|
label: 'Private Key',
|
||||||
key: 'privateKey',
|
key: 'privateKey',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
required: true,
|
required: true,
|
||||||
description: 'The RSA private key in PEM format used for signing.',
|
description: 'The RSA private key in PEM format used for signing.',
|
||||||
variables: true,
|
variables: true,
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
label: 'Output Encoding',
|
||||||
|
key: 'outputEncoding',
|
||||||
|
type: 'dropdown',
|
||||||
|
required: true,
|
||||||
|
value: 'hex',
|
||||||
|
description: 'Specifies the encoding format for the digital signature output. This determines how the generated signature will be represented as a string.',
|
||||||
|
options: [
|
||||||
|
{ label: 'base64', value: 'base64' },
|
||||||
|
{ label: 'base64url', value: 'base64url' },
|
||||||
|
{ label: 'hex', value: 'hex' },
|
||||||
|
],
|
||||||
|
variables: true,
|
||||||
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
async run($) {
|
async run($) {
|
||||||
const signer = crypto.createSign($.step.parameters.algorithm);
|
const signer = crypto.createSign($.step.parameters.algorithm);
|
||||||
signer.update($.step.parameters.message);
|
signer.update($.step.parameters.message);
|
||||||
signer.end();
|
signer.end();
|
||||||
const signature = signer.sign($.step.parameters.privateKey, 'hex');
|
const signature = signer.sign($.step.parameters.privateKey, $.step.parameters.outputEncoding);
|
||||||
|
|
||||||
$.setActionItem({
|
$.setActionItem({
|
||||||
raw: {
|
raw: {
|
||||||
|
Reference in New Issue
Block a user