Unterschied zwischen der Unterzeichnung mit SHA256 vs. signieren mit RSA-SHA256

Spiele ich mit digitale Signaturen mit node.js. Für test-Zwecke habe ich eine digitale Signatur von XML-Daten, zuerst mit nur SHA256, dann mit RSA-SHA256.

Die Sache, die mich verwirrt ist, dass beide Methoden der Unterzeichnung erstellen, die genau die gleiche Signatur. Beide Signaturen identisch sind. Wenn Sie identisch sind, warum dann zwei unterschiedliche Methoden (SHA256 vs. RSA-SHA256)?

Ich folgenden code:

var crypto = require('crypto'),
    path   = require('path'),
    fs     = require('fs'),

    pkey_path = path.normalize('private_key.pem'),
    pkey = '';

function testSignature(pkey) {
    var sign1 = crypto.createSign('RSA-SHA256'),
        sign2 = crypto.createSign('SHA256');

    fs.ReadStream('some_document.xml')
        .on('data', function (d) {
            sign1.update(d);
            sign2.update(d);
        })
        .on('end', function () {
            var s1 = sign1.sign(pkey, "base64"),
                s2 = sign2.sign(pkey, "base64");

            console.log(s1);
            console.log(s2);
        });
}

//You need to read private key into a string and pass it to crypto module.
//If the key is password protected, program execution will stop and
//a prompt will appear in console, awaiting input of password.

testSignature(fs.readFileSync(pkey_path));

Den obigen code-Ausgänge einen string, das ist die Signatur, und dann wieder genau die gleiche Zeichenkette, die auch eine Unterschrift von den gleichen Daten, sondern erstellt mit - vermeintlich - unterschiedlichen-Algorithmus, noch ist es identisch mit dem vorherigen...

  • leider ist es nicht verwandt.
InformationsquelleAutor Arim | 2014-11-20
Schreibe einen Kommentar