diff --git a/types/ndn-js/face-test.ts b/types/ndn-js/face-test.ts index 738385f6ef..90ba176d27 100644 --- a/types/ndn-js/face-test.ts +++ b/types/ndn-js/face-test.ts @@ -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) => {}); diff --git a/types/ndn-js/key-chain-test.ts b/types/ndn-js/key-chain-test.ts new file mode 100644 index 0000000000..4bfefc9f28 --- /dev/null +++ b/types/ndn-js/key-chain-test.ts @@ -0,0 +1,40 @@ +/// +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()); diff --git a/types/ndn-js/key-chain.d.ts b/types/ndn-js/key-chain.d.ts index 1ecb000773..1aa96e4129 100644 --- a/types/ndn-js/key-chain.d.ts +++ b/types/ndn-js/key-chain.d.ts @@ -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; diff --git a/types/ndn-js/tsconfig.json b/types/ndn-js/tsconfig.json index 766352636d..a07c5e1c00 100644 --- a/types/ndn-js/tsconfig.json +++ b/types/ndn-js/tsconfig.json @@ -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",