瀏覽代碼

Fix RSA operations

Matt 5 年之前
父節點
當前提交
1c0ecd29c2
共有 2 個文件被更改,包括 7 次插入6 次删除
  1. 5 5
      src/core/operations/RSASign.mjs
  2. 2 1
      src/core/operations/RSAVerify.mjs

+ 5 - 5
src/core/operations/RSASign.mjs

@@ -8,6 +8,7 @@
 import Operation from "../Operation";
 import OperationError from "../errors/OperationError";
 import forge from "node-forge/dist/forge.min.js";
+import Utils from "../Utils.mjs";
 import { MD_ALGORITHMS } from "../lib/RSA.mjs";
 
 /**
@@ -26,7 +27,7 @@ class RSASign extends Operation {
         this.description = "Sign a plaintext message with a PEM encoded RSA key.";
         this.infoURL = "https://wikipedia.org/wiki/RSA_(cryptosystem)";
         this.inputType = "string";
-        this.outputType = "byteArray";
+        this.outputType = "string";
         this.args = [
             {
                 name: "RSA Private Key (PEM)",
@@ -61,10 +62,9 @@ class RSASign extends Operation {
             // Generate message hash
             const md = MD_ALGORITHMS[mdAlgo].create();
             md.update(input, "utf8");
-            // Convert signature UTF-16 string to byteArray
-            const encoder = new TextEncoder();
-            const signature = encoder.encode(privateKey.sign(md));
-            return signature;
+            // Sign message hash
+            const sig = privateKey.sign(md);
+            return sig;
         } catch (err) {
             throw new OperationError(err);
         }

+ 2 - 1
src/core/operations/RSAVerify.mjs

@@ -6,6 +6,7 @@
 
 import Operation from "../Operation.mjs";
 import OperationError from "../errors/OperationError.mjs";
+import Utils from "../Utils.mjs";
 import forge from "node-forge/dist/forge.min.js";
 import { MD_ALGORITHMS } from "../lib/RSA.mjs";
 
@@ -24,7 +25,7 @@ class RSAVerify extends Operation {
         this.module = "Ciphers";
         this.description = "Verify a message against a signature and a public PEM encoded RSA key.";
         this.infoURL = "https://wikipedia.org/wiki/RSA_(cryptosystem)";
-        this.inputType = "byteArray";
+        this.inputType = "string";
         this.outputType = "string";
         this.args = [
             {