Skip to content
This repository was archived by the owner on Jul 30, 2024. It is now read-only.

Commit 5b10429

Browse files
authored
Merge pull request #166 from exoego/fix-crypt
Fix key object in crypto module
2 parents 7f2c756 + 92f713b commit 5b10429

File tree

2 files changed

+30
-4
lines changed

2 files changed

+30
-4
lines changed

app/current/src/main/scala/io/scalajs/nodejs/crypto/Crypto.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -200,19 +200,19 @@ trait Crypto extends js.Object {
200200

201201
def privateDecrypt(privateKey: String | Buffer, buffer: BufferLike): Buffer = js.native
202202
@enableIf(io.scalajs.nodejs.internal.CompilerSwitches.gteNodeJs12)
203-
def privateDecrypt(privateKey: KeyObject, buffer: BufferLike): Buffer = js.native
203+
def privateDecrypt(privateKey: PrivateDecryptKeyObject, buffer: BufferLike): Buffer = js.native
204204

205205
def privateEncrypt(privateKey: String | Buffer, buffer: BufferLike): Buffer = js.native
206206
@enableIf(io.scalajs.nodejs.internal.CompilerSwitches.gteNodeJs12)
207-
def privateEncrypt(privateKey: KeyObject, buffer: BufferLike): Buffer = js.native
207+
def privateEncrypt(privateKey: PrivateEncryptKeyObject, buffer: BufferLike): Buffer = js.native
208208

209209
def publicDecrypt(key: String | Buffer, buffer: BufferLike): Buffer = js.native
210210
@enableIf(io.scalajs.nodejs.internal.CompilerSwitches.gteNodeJs12)
211-
def publicDecrypt(key: KeyObject, buffer: BufferLike): Buffer = js.native
211+
def publicDecrypt(key: PublicDecryptKeyObject, buffer: BufferLike): Buffer = js.native
212212

213213
def publicEncrypt(key: String | Buffer, buffer: BufferLike): Buffer = js.native
214214
@enableIf(io.scalajs.nodejs.internal.CompilerSwitches.gteNodeJs12)
215-
def publicEncrypt(key: KeyObject, buffer: BufferLike): Buffer = js.native
215+
def publicEncrypt(key: PublicEncryptKeyObject, buffer: BufferLike): Buffer = js.native
216216

217217
def randomBytes(size: Int): Buffer = js.native
218218
def randomBytes(size: Int, callback: Callback1[Buffer]): Unit = js.native

app/current/src/main/scala/io/scalajs/nodejs/crypto/KeyObject.scala

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package io.scalajs.nodejs.crypto
33
import io.scalajs.nodejs.buffer.Buffer
44

55
import scala.scalajs.js
6+
import scala.scalajs.js.typedarray.{DataView, TypedArray}
67
import scala.scalajs.js.|
78

89
@js.native
@@ -20,3 +21,28 @@ class KeyObjectExportOptions(
2021
var cipher: js.UndefOr[String] = js.undefined,
2122
var passphrase: js.UndefOr[String | Buffer] = js.undefined
2223
) extends js.Object
24+
25+
class PublicEncryptKeyObject(
26+
var key: String | Buffer | KeyObject,
27+
var oaepHash: String = "sha1",
28+
var oaepLabel: js.UndefOr[Buffer | TypedArray[_, _] | DataView] = js.undefined,
29+
var passphrase: js.UndefOr[String | Buffer] = js.undefined,
30+
var padding: js.UndefOr[Int] = js.undefined
31+
) extends js.Object
32+
33+
class PublicDecryptKeyObject(
34+
var passphrase: js.UndefOr[String | Buffer] = js.undefined,
35+
var padding: js.UndefOr[Int] = js.undefined
36+
) extends js.Object
37+
38+
class PrivateEncryptKeyObject(
39+
var key: String | Buffer | KeyObject,
40+
var passphrase: js.UndefOr[String | Buffer] = js.undefined,
41+
var padding: js.UndefOr[Int] = js.undefined
42+
) extends js.Object
43+
44+
class PrivateDecryptKeyObject(
45+
var oaepHash: String = "sha1",
46+
var oaepLabel: js.UndefOr[Buffer | TypedArray[_, _] | DataView] = js.undefined,
47+
var padding: js.UndefOr[Int] = js.undefined
48+
) extends js.Object

0 commit comments

Comments
 (0)