diff --git a/types/node-forge/README.md b/types/node-forge/README.md new file mode 100644 index 0000000000..fcac651de8 --- /dev/null +++ b/types/node-forge/README.md @@ -0,0 +1,29 @@ +# DefinitelyTyped for node-forge + +## Current node-forge Version +`v0.7.6` +## Usage + +```bash +npm install --save-dev @types/node-forge +npm install --save node-forge +``` + +example: +```ts +import * as forge from "node-forge"; + +Buffer.isBuffer(forge.pki.ed25519.generateKeyPair().publicKey) // true +``` +## License +BSD-2-Clause + +## dependencies +`@types/node` + +## Author +[Seth Westphal](https://github.com/westy92) +[Kay Schecker](https://github.com/flynetworks) +[Aakash Goenka](https://github.com/a-k-g) +[Rafal2228](https://github.com/rafal2228) +[Beeno Tung](https://github.com/beenotung) diff --git a/types/node-forge/index.d.ts b/types/node-forge/index.d.ts index 65ff4edb47..e30a217ddc 100644 --- a/types/node-forge/index.d.ts +++ b/types/node-forge/index.d.ts @@ -1,10 +1,14 @@ -// Type definitions for node-forge 0.7.5 +// Type definitions for node-forge 0.7.6 // Project: https://github.com/digitalbazaar/forge // Definitions by: Seth Westphal // Kay Schecker // Aakash Goenka // Rafal2228 +// Beeno Tung // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.6 + +/// declare module "node-forge" { type Byte = string; @@ -73,6 +77,33 @@ declare module "node-forge" { function generateKeyPair(options?: GenerateKeyPairOptions, callback?: (err: Error, keypair: KeyPair) => void): KeyPair; } + namespace ed25519 { + + type NativeBuffer = Buffer | Uint8Array; + + namespace constants { + const PUBLIC_KEY_BYTE_LENGTH = 32; + const PRIVATE_KEY_BYTE_LENGTH = 64; + const SEED_BYTE_LENGTH = 32; + const SIGN_BYTE_LENGTH = 64; + const HASH_BYTE_LENGTH = 64; + } + + function generateKeyPair(options?: { seed?: Buffer | Uint8Array | string }): { + publicKey: NativeBuffer; + privateKey: NativeBuffer; + }; + + function publicKeyFromPrivateKey(options: { privateKey: NativeBuffer }): NativeBuffer; + + function sign(options: { privateKey: NativeBuffer }): NativeBuffer; + + function verify(options: { + signature: Buffer | Uint8Array | util.ByteBuffer | string, + publicKey: NativeBuffer + }): boolean; + } + interface CertificateFieldOptions { name?: string; type?: string;