Skip to content
This repository has been archived by the owner on Oct 19, 2022. It is now read-only.

dfinity agent identity based on azure keyvault secp256k1 CloudHSM

License

Notifications You must be signed in to change notification settings

ORIGYN-SA/identity-azure-key-vault

Repository files navigation

@origyn/identity-azure-key-vault

TypeScript library to support a Azure Key Vault identity for applications on the Internet Computer.

It uses ECDSA using P-256K and SHA-256, as described in RFC7518.

Visit the Dfinity Forum and SDK Documentation for more information and support building on the Internet Computer.


Installation

Using authentication:

npm i --save @origyn/identity-azure-key-vault

In the node.js application:

import {config} from "dotenv";
import {HttpAgent} from '@dfinity/agent';
import {AzureKeyVaultSecp256k1Identity} from '@origyn/identity-azure-key-vault'

config();

// ...
const identity = await AzureKeyVaultSecp256k1Identity.create({
    clientId: process.env.AZURE_CLIENT_ID,
    keyId: process.env.AZURE_KEY_ID,
    vaultId: process.env.AZURE_VAULT_ID,
    tenantId: process.env.AZURE_TENANT_ID,
});

const agent = new HttpAgent({identity: identity, /* rest of config .... */});

Sample .env can be found in examples/demo/.env.sample, as well all keys are defined in src/demo_agent/environment.ts.

Note: depends on @dfinity/agent and @dfinity/identity.

Example application

You can find example of library usage in examples/demo, to run it follow those steps:

  • change directory: cd examples/demo;
  • install npm packages: npm install;
  • from the same dir, but from another terminal (as well can be started as background job) run local IC: dfx start;
  • from examples/demo run dfx deploy;
  • create your own .env file based on .env.sample, CANISTER_ID will be shown after deployment;
  • after deployment succeeds run node.js application with npm run start;
  • experiment with changing source code, nodemon will recompile your application when it will be updated.

About

dfinity agent identity based on azure keyvault secp256k1 CloudHSM

Resources

License

Stars

Watchers

Forks

Packages