ndn-js: KeyChain

This commit is contained in:
Junxiao Shi
2018-10-21 12:09:58 -04:00
parent 6522197578
commit a70f2757ff
4 changed files with 83 additions and 2 deletions

View File

@@ -37,7 +37,7 @@ face.removePendingInterest(n);
face.removeRegisteredPrefix(n);
face.send(new ndn.Blob());
face.setCommandCertificateName(name);
face.setCommandSigningInfo({}, name);
face.setCommandSigningInfo(new ndn.KeyChain(), name);
n = face.setInterestFilter(filter,
(prefix: ndn.Name, interest: ndn.Interest, face: ndn.Face, filterId: number, filter: ndn.InterestFilter) => {});

View File

@@ -0,0 +1,40 @@
/// <reference types="node"/>
import ndn = require("ndn-js");
let kc = new ndn.KeyChain();
kc = new ndn.KeyChain("pib-memory:", "tpm-memory:");
const kp: ndn.KeyParams = ndn.KeyChain.getDefaultKeyParams();
const pib: ndn.Pib = kc.getPib();
const tpm: ndn.Tpm = kc.getTpm();
const name = new ndn.Name("/key-name");
let id: ndn.PibIdentity = kc.createIdentityV2(name);
id = kc.createIdentityV2(name, kp);
kc.createIdentityV2(name, (id: ndn.PibIdentity) => {});
kc.createIdentityV2(name, (id: ndn.PibIdentity) => {}, (err) => {});
kc.createIdentityV2(name, kp, (id: ndn.PibIdentity) => {});
kc.createIdentityV2(name, kp, (id: ndn.PibIdentity) => {}, (err) => {});
kc.deleteIdentity(id);
kc.setDefaultIdentity(id);
let key: ndn.PibKey = kc.createKey(id);
key = kc.createKey(id, kp);
kc.createKey(id, (key: ndn.PibKey) => {});
kc.createKey(id, (key: ndn.PibKey) => {}, (err) => {});
kc.createKey(id, kp, (key: ndn.PibKey) => {});
kc.createKey(id, kp, (key: ndn.PibKey) => {}, (err) => {});
kc.deleteKey(id, key);
kc.setDefaultKey(id, key);
const cert: ndn.CertificateV2 = {};
kc.addCertificate(key, cert);
kc.deleteCertificate(key, cert);
kc.setDefaultCertificate(key, cert);
const si: ndn.SigningInfo = {};
kc.sign(new ndn.Data(), si, (data: ndn.Data) => {});
kc.sign(new ndn.Interest(), si, (interest: ndn.Interest) => {});
kc.signWithSha256(new ndn.Data());
kc.signWithSha256(new ndn.Interest());

View File

@@ -1 +1,41 @@
export type KeyChain = any;
import { Data } from "./data";
import { Interest } from "./interest";
import { Name } from "./name";
export class KeyChain {
constructor();
constructor(pibLocator: string, tpmLocator: string, allowReset?: boolean);
static getDefaultKeyParams(): KeyParams;
getPib(): Pib;
getTpm(): Tpm;
createIdentityV2(identityName: Name, params?: KeyParams): PibIdentity;
createIdentityV2(identityName: Name, onComplete: (identity: PibIdentity) => any, onError?: (err: any) => any): void;
createIdentityV2(identityName: Name, params: KeyParams, onComplete: (identity: PibIdentity) => any, onError?: (err: any) => any): void;
deleteIdentity(identity: PibIdentity, onComplete?: () => any, onError?: (err: any) => any): void;
setDefaultIdentity(identity: PibIdentity, onComplete?: () => any, onError?: (err: any) => any): void;
createKey(identity: PibIdentity, params?: KeyParams): PibKey;
createKey(identity: PibIdentity, onComplete: (key: PibKey) => any, onError?: (err: any) => any): void;
createKey(identity: PibIdentity, params: KeyParams, onComplete: (key: PibKey) => any, onError?: (err: any) => any): void;
deleteKey(identity: PibIdentity, key: PibKey, onComplete?: () => any, onError?: (err: any) => any): void;
setDefaultKey(identity: PibIdentity, key: PibKey, onComplete?: () => any, onError?: (err: any) => any): void;
addCertificate(key: PibKey, certificate: CertificateV2, onComplete?: () => any, onError?: (err: any) => any): void;
deleteCertificate(key: PibKey, certificateName: Name, onComplete?: () => any, onError?: (err: any) => any): void;
setDefaultCertificate(key: PibKey, certificate: CertificateV2, onComplete?: () => any, onError?: (err: any) => any): void;
sign(data: Data, params: SigningInfo, onComplete?: (data: Data) => any, onError?: (err: any) => any): void;
sign(interest: Interest, params: SigningInfo, onComplete?: (interest: Interest) => any, onError?: (err: any) => any): void;
signWithSha256(data: Data): void;
signWithSha256(interest: Interest): void;
}
export type CertificateV2 = any;
export type KeyParams = any;
export type Pib = any;
export type PibIdentity = any;
export type PibKey = any;
export type SigningInfo = any;
export type Tpm = any;

View File

@@ -22,6 +22,7 @@
"data-test.ts",
"face-test.ts",
"interest-test.ts",
"key-chain-test.ts",
"name-test.ts",
"network-nack-test.ts",
"signature-test.ts",