Use a Cryptographic Key for a Signature

The following sample uses a cryptographic key to sign arbitrary data.

          /**
 * @NApiVersion 2.1
 */

require(['N/pgp', 'N/crypto/certificate', 'N/encode'], (pgp, cryptoCertificate, encode) => {
  const keys = {
    ours: {
      pub: pgp.loadKeyFromSecret({
        secret: { scriptId: 'custsecret_pgp_key_ours_public' }
      }),
      pri: pgp.loadKeyFromSecret({
        secret: { scriptId: 'custsecret_pgp_key_ours_private' },
        password: { scriptId: 'custsecret_pgp_key_ours_private_password' }
      })
    }
  }
  const signer = pgp.createSigner({
    key: keys.ours.pri,
    algorithm: cryptoCertificate.HashAlg.SHA256
  })
  signer.update({
    input: 'Test'
  })
  const signature = signer.sign({
    outputEncoding: encode.Encoding.BASE_64_URL_SAFE
  })

  log.debug(signature)
}) 

        

Related Topics

General Notices