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

1 file changed

Lines changed: 1 addition & 19 deletions

File tree

‎lib/internal/crypto/diffiehellman.js‎

Lines changed: 1 addition & 19 deletions
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-
constencoding=getDefaultEncoding();
101-
keyEncoding=keyEncoding||encoding;
102-
genEncoding=genEncoding||encoding;
103-
10499
if(typeofsizeOrKey!=='number')
105100
sizeOrKey=toBuf(sizeOrKey,keyEncoding);
106101

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

149144
functiondhGenerateKeys(encoding){
150145
constkeys=this[kHandle].generateKeys();
151-
encoding=encoding||getDefaultEncoding();
152146
returnencode(keys,encoding);
153147
}
154148

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

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

176167
functiondhGetPrime(encoding){
177168
constprime=this[kHandle].getPrime();
178-
encoding=encoding||getDefaultEncoding();
179169
returnencode(prime,encoding);
180170
}
181171

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

187177
functiondhGetGenerator(encoding){
188178
constgenerator=this[kHandle].getGenerator();
189-
encoding=encoding||getDefaultEncoding();
190179
returnencode(generator,encoding);
191180
}
192181

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

198187
functiondhGetPublicKey(encoding){
199188
constkey=this[kHandle].getPublicKey();
200-
encoding=encoding||getDefaultEncoding();
201189
returnencode(key,encoding);
202190
}
203191

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

209197
functiondhGetPrivateKey(encoding){
210198
constkey=this[kHandle].getPrivateKey();
211-
encoding=encoding||getDefaultEncoding();
212199
returnencode(key,encoding);
213200
}
214201

215202

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

223209

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

258242
ECDH.convertKey=functionconvertKey(key,curve,inEnc,outEnc,format){
259243
validateString(curve,'curve');
260-
constencoding=inEnc||getDefaultEncoding();
261-
key=getArrayBufferOrView(key,'key',encoding);
262-
outEnc=outEnc||encoding;
244+
key=getArrayBufferOrView(key,'key',inEnc);
263245
constf=getFormat(format);
264246
constconvertedKey=_ECDHConvertKey(key,curve,f);
265247
returnencode(convertedKey,outEnc);

0 commit comments

Comments
 (0)