From 962c5bd3ca507933d4be6ebe3692b8fa3837378b Mon Sep 17 00:00:00 2001 From: Andrea Date: Tue, 26 Mar 2019 21:56:05 +0000 Subject: [PATCH] add pbkdf2 function definitions with optional parameters (#34190) --- types/node-forge/index.d.ts | 3 +++ types/node-forge/node-forge-tests.ts | 22 +++++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/types/node-forge/index.d.ts b/types/node-forge/index.d.ts index 47a601fc32..4320347fb5 100644 --- a/types/node-forge/index.d.ts +++ b/types/node-forge/index.d.ts @@ -584,6 +584,9 @@ declare module "node-forge" { namespace pkcs5 { function pbkdf2(password: string, salt: string, iterations: number, keySize: number): string; + function pbkdf2(password: string, salt: string, iterations: number, keySize: number, messageDigest: md.MessageDigest): string; + function pbkdf2(password: string, salt: string, iterations: number, keySize: number, callback: (err: Error | null, dk: string | null) => any): void; + function pbkdf2(password: string, salt: string, iterations: number, keySize: number, messageDigest?: md.MessageDigest, callback?: (err: Error | null, dk: string | null) => any): void; } namespace md { diff --git a/types/node-forge/node-forge-tests.ts b/types/node-forge/node-forge-tests.ts index c99f417550..d79a90ebbc 100644 --- a/types/node-forge/node-forge-tests.ts +++ b/types/node-forge/node-forge-tests.ts @@ -224,7 +224,27 @@ if (forge.util.fillString('1', 5) !== '11111') throw Error('forge.util.fillStrin } { - const key: string = forge.pkcs5.pbkdf2("password", "salt", 1000, 32); + let md: forge.md.MessageDigest; + md = forge.md.sha256.create(); + + const key1: string = forge.pkcs5.pbkdf2("password", "salt", 1000, 32); + const key2: string = forge.pkcs5.pbkdf2("password", "salt", 1000, 32, md); + + let key3: string; + forge.pkcs5.pbkdf2("password", "salt", 1000, 32, function(err: Error | null, dk: null | string) { + if (err === null) + key3 = dk; + else + throw Error("pbkdf2 key derivation fail"); + }); + + let key4: string; + forge.pkcs5.pbkdf2("password", "salt", 1000, 32, md, function(err: Error | null, dk: null | string) { + if (err === null) + key4 = dk; + else + throw Error("pbkdf2 key derivation fail"); + }); } {