From 3db7dcac3d1c8f4821b3a38331f8eecaae1c8041 Mon Sep 17 00:00:00 2001 From: Seth Westphal Date: Mon, 15 Aug 2016 15:41:37 -0500 Subject: [PATCH] Add some basic node-forge definitions with tests. --- node-forge/node-forge-tests.ts | 7 ++++++ node-forge/node-forge.d.ts | 40 ++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 node-forge/node-forge-tests.ts create mode 100644 node-forge/node-forge.d.ts diff --git a/node-forge/node-forge-tests.ts b/node-forge/node-forge-tests.ts new file mode 100644 index 0000000000..3882c8bd94 --- /dev/null +++ b/node-forge/node-forge-tests.ts @@ -0,0 +1,7 @@ +/// + +import * as forge from "node-forge"; + +let keypair = forge.pki.rsa.generateKeyPair({bits: 512}); +let privateKeyPem = forge.pki.privateKeyToPem(keypair.privateKey); +let publicKeyPem = forge.pki.publicKeyToPem(keypair.publicKey); diff --git a/node-forge/node-forge.d.ts b/node-forge/node-forge.d.ts new file mode 100644 index 0000000000..8313cdd031 --- /dev/null +++ b/node-forge/node-forge.d.ts @@ -0,0 +1,40 @@ +// Type definitions for node-forge 0.6.42 +// Project: https://github.com/digitalbazaar/forge +// Definitions by: Seth Westphal +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare module "node-forge" { + + export namespace pki { + + export type PEM = string; + export type Key = any; + + export interface KeyPair { + publicKey: Key; + privateKey: Key; + } + + export function privateKeyToPem(key: Key, maxline?: number): PEM; + export function publicKeyToPem(key: Key, maxline?: number): PEM; + + export namespace rsa { + + export interface GenerateKeyPairOptions { + bits?: number; + e?: number; + workerScript?: string; + workers?: number; + workLoad?: number; + prng?: any; + algorithm?: string; + } + + export function generateKeyPair(bits?: number, e?: number, callback?: (err: Error, keypair: KeyPair) => void): KeyPair; + export function generateKeyPair(options?: GenerateKeyPairOptions, callback?: (err: Error, keypair: KeyPair) => void): KeyPair; + + } + + } + +}