Skip to main content

Signer Module

Signing a claim requires a Signer Module.

A SignerModule must expose a .getPublicKey() and a .signMessage(message: string) functions.

This is, for instance, a valid SignerModule:

const jsrasign = require('jsrasign');
const signer = new SignerModule({    getPublicKey: async () => ({        key: "-----BEGIN CERTIFICATE----- my_super_public_key -----END CERTIFICATE-----",        type: "X.509",        signingMethod: "SHA-256",    }),    signMessage: async (message) => {        const signer = new jsrsasign.Signature({ alg: 'SHA256withRSA' });        signer.init("-----BEGIN CERTIFICATE----- my_super_PRIVATE_no_really_super_secret_PRIVATE_key -----END CERTIFICATE-----");        signer.updateString(message);        return signer.sign();    },});

As a convenient method, a SignerModule can also be created from an ethers Wallet:

const wallet = new IdentitySDK.Providers.Wallet('PRIVATE_KEY', provider);const signer = new IdentitySDK.SignerModule(wallet);

It can be used in functions such as Claim.requestAccess():

claim.requestAccess(IdentitySDK.utils.enums.AccessGrantType.PERSISTENT, signer);

test

azdazd