Skip to content

Commit 772496c

Browse files
tniessenUlisesGascon
authored andcommitted
crypto: remove default encoding from DiffieHellman
getDefaultEncoding() always returns 'buffer' in Node.js 20. In diffiehellman.js, this value is always used as input to either toBuf(), encode(), or getArrayBufferOrView(). All of these functions treat any falsy encoding just like 'buffer', so we can safely remove the calls to getDefaultEncoding(). Refs: #47182 PR-URL: #49169 Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Filip Skokan <panva.ip@gmail.com>
1 parent c795083 commit 772496c

File tree

1 file changed

+1
-19
lines changed

1 file changed

+1
-19
lines changed

lib/internal/crypto/diffiehellman.js

+1-19
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ const {
5151

5252
const {
5353
getArrayBufferOrView,
54-
getDefaultEncoding,
5554
jobPromise,
5655
toBuf,
5756
kHandle,
@@ -97,10 +96,6 @@ function DiffieHellman(sizeOrKey, keyEncoding, generator, genEncoding) {
9796
keyEncoding = false;
9897
}
9998

100-
const encoding = getDefaultEncoding();
101-
keyEncoding = keyEncoding || encoding;
102-
genEncoding = genEncoding || encoding;
103-
10499
if (typeof sizeOrKey !== 'number')
105100
sizeOrKey = toBuf(sizeOrKey, keyEncoding);
106101

@@ -148,7 +143,6 @@ DiffieHellmanGroup.prototype.generateKeys =
148143

149144
function dhGenerateKeys(encoding) {
150145
const keys = this[kHandle].generateKeys();
151-
encoding = encoding || getDefaultEncoding();
152146
return encode(keys, encoding);
153147
}
154148

@@ -158,9 +152,6 @@ DiffieHellmanGroup.prototype.computeSecret =
158152
dhComputeSecret;
159153

160154
function dhComputeSecret(key, inEnc, outEnc) {
161-
const encoding = getDefaultEncoding();
162-
inEnc = inEnc || encoding;
163-
outEnc = outEnc || encoding;
164155
key = getArrayBufferOrView(key, 'key', inEnc);
165156
const ret = this[kHandle].computeSecret(key);
166157
if (typeof ret === 'string')
@@ -175,7 +166,6 @@ DiffieHellmanGroup.prototype.getPrime =
175166

176167
function dhGetPrime(encoding) {
177168
const prime = this[kHandle].getPrime();
178-
encoding = encoding || getDefaultEncoding();
179169
return encode(prime, encoding);
180170
}
181171

@@ -186,7 +176,6 @@ DiffieHellmanGroup.prototype.getGenerator =
186176

187177
function dhGetGenerator(encoding) {
188178
const generator = this[kHandle].getGenerator();
189-
encoding = encoding || getDefaultEncoding();
190179
return encode(generator, encoding);
191180
}
192181

@@ -197,7 +186,6 @@ DiffieHellmanGroup.prototype.getPublicKey =
197186

198187
function dhGetPublicKey(encoding) {
199188
const key = this[kHandle].getPublicKey();
200-
encoding = encoding || getDefaultEncoding();
201189
return encode(key, encoding);
202190
}
203191

@@ -208,21 +196,18 @@ DiffieHellmanGroup.prototype.getPrivateKey =
208196

209197
function dhGetPrivateKey(encoding) {
210198
const key = this[kHandle].getPrivateKey();
211-
encoding = encoding || getDefaultEncoding();
212199
return encode(key, encoding);
213200
}
214201

215202

216203
DiffieHellman.prototype.setPublicKey = function setPublicKey(key, encoding) {
217-
encoding = encoding || getDefaultEncoding();
218204
key = getArrayBufferOrView(key, 'key', encoding);
219205
this[kHandle].setPublicKey(key);
220206
return this;
221207
};
222208

223209

224210
DiffieHellman.prototype.setPrivateKey = function setPrivateKey(key, encoding) {
225-
encoding = encoding || getDefaultEncoding();
226211
key = getArrayBufferOrView(key, 'key', encoding);
227212
this[kHandle].setPrivateKey(key);
228213
return this;
@@ -251,15 +236,12 @@ ECDH.prototype.generateKeys = function generateKeys(encoding, format) {
251236
ECDH.prototype.getPublicKey = function getPublicKey(encoding, format) {
252237
const f = getFormat(format);
253238
const key = this[kHandle].getPublicKey(f);
254-
encoding = encoding || getDefaultEncoding();
255239
return encode(key, encoding);
256240
};
257241

258242
ECDH.convertKey = function convertKey(key, curve, inEnc, outEnc, format) {
259243
validateString(curve, 'curve');
260-
const encoding = inEnc || getDefaultEncoding();
261-
key = getArrayBufferOrView(key, 'key', encoding);
262-
outEnc = outEnc || encoding;
244+
key = getArrayBufferOrView(key, 'key', inEnc);
263245
const f = getFormat(format);
264246
const convertedKey = _ECDHConvertKey(key, curve, f);
265247
return encode(convertedKey, outEnc);

0 commit comments

Comments
 (0)