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