@@ -2,6 +2,7 @@ import { NitroModules } from 'react-native-nitro-modules';
22import type { DiffieHellman as DiffieHellmanInterface } from './specs/diffie-hellman.nitro' ;
33import { Buffer } from '@craftzdog/react-native-buffer' ;
44import { DH_GROUPS } from './dh-groups' ;
5+ import { toArrayBuffer } from './utils/conversion' ;
56
67export class DiffieHellman {
78 private _hybrid : DiffieHellmanInterface ;
@@ -36,10 +37,7 @@ export class DiffieHellman {
3637 genBuf = Buffer . from ( generator , encoding as BufferEncoding ) ;
3738 }
3839
39- this . _hybrid . init (
40- primeBuf . buffer as ArrayBuffer ,
41- genBuf . buffer as ArrayBuffer ,
42- ) ;
40+ this . _hybrid . init ( toArrayBuffer ( primeBuf ) , toArrayBuffer ( genBuf ) ) ;
4341 }
4442 }
4543
@@ -62,7 +60,7 @@ export class DiffieHellman {
6260 }
6361
6462 const secret = Buffer . from (
65- this . _hybrid . computeSecret ( keyBuf . buffer as ArrayBuffer ) ,
63+ this . _hybrid . computeSecret ( toArrayBuffer ( keyBuf ) ) ,
6664 ) ;
6765 if ( outputEncoding ) return secret . toString ( outputEncoding ) ;
6866 return secret ;
@@ -99,7 +97,7 @@ export class DiffieHellman {
9997 } else {
10098 keyBuf = Buffer . from ( publicKey , encoding ) ;
10199 }
102- this . _hybrid . setPublicKey ( keyBuf . buffer as ArrayBuffer ) ;
100+ this . _hybrid . setPublicKey ( toArrayBuffer ( keyBuf ) ) ;
103101 }
104102
105103 setPrivateKey ( privateKey : Buffer | string , encoding ?: BufferEncoding ) : void {
@@ -109,7 +107,7 @@ export class DiffieHellman {
109107 } else {
110108 keyBuf = Buffer . from ( privateKey , encoding ) ;
111109 }
112- this . _hybrid . setPrivateKey ( keyBuf . buffer as ArrayBuffer ) ;
110+ this . _hybrid . setPrivateKey ( toArrayBuffer ( keyBuf ) ) ;
113111 }
114112
115113 get verifyError ( ) : number {
0 commit comments