Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
exports.getVerinym = async function(poolHandle, From, fromWallet, fromDid, fromToKey, to, toWallet, toFromDid, toFromKey, role) {
console.log(`\"${to}\" > Create and store in Wallet \"${to}\" new DID"`);
let [toDid, toKey] = await indy.createAndStoreMyDid(toWallet, {});
console.log(`\"${to}\" > Authcrypt \"${to} DID info\" for \"${From}\"`);
let didInfoJson = JSON.stringify({
'did': toDid,
'verkey': toKey
});
let authcryptedDidInfo = await indy.cryptoAuthCrypt(toWallet, toFromKey, fromToKey, Buffer.from(didInfoJson, 'utf8'));
console.log(`\"${to}\" > Send authcrypted \"${to} DID info\" to ${From}`);
console.log(`\"${From}\" > Authdecrypted \"${to} DID info\" from ${to}`);
let [senderVerkey, authdecryptedDidInfo] =
await indy.cryptoAuthDecrypt(fromWallet, fromToKey, Buffer.from(authcryptedDidInfo));
let authdecryptedDidInfoJson = JSON.parse(Buffer.from(authdecryptedDidInfo));
console.log(`\"${From}\" > Authenticate ${to} by comparision of Verkeys`);
let retrievedVerkey = await indy.keyForDid(poolHandle, fromWallet, toFromDid);
if (senderVerkey !== retrievedVerkey) {
throw Error("Verkey is not the same");
}
console.log(`\"${From}\" > Send Nym to Ledger for \"${to} DID\" with ${role} Role`);
await sendNym(poolHandle, fromWallet, fromDid, authdecryptedDidInfoJson['did'], authdecryptedDidInfoJson['verkey'], role);
return toDid
};
exports.authDecrypt = async function (myDid, message) {
let myVerkey = await sdk.keyForLocalDid(await indy.wallet.get(), myDid);
let [, decryptedMessageBuffer] = await sdk.cryptoAuthDecrypt(await indy.wallet.get(), myVerkey, Buffer.from(message, 'base64'));
let buffer = Buffer.from(decryptedMessageBuffer).toString('utf8');
return JSON.parse(buffer);
};
exports.authDecrypt = async function (walletHandle, key, message) {
let [fromVerkey, decryptedMessageJsonBuffer] = await indy.cryptoAuthDecrypt(walletHandle, key, message);
let decryptedMessage = JSON.parse(decryptedMessageJsonBuffer);
let decryptedMessageJson = JSON.stringify(decryptedMessage);
return [fromVerkey, decryptedMessageJson, decryptedMessage];
};