'SignatureMethod'-Algorithmus vs.' DigestMethod'-Algorithmus in XML Signature

Wenn wir das folgende Signature-Element als Beispiel nehmen:

<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
    <ds:SignedInfo>
      <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
      <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
      <ds:Reference URI="#_884D49DAD03AD60748547F8322C11AA0">
        <ds:Transforms>
          <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
          <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
        </ds:Transforms>
        <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
        <ds:DigestValue>...</ds:DigestValue>
      </ds:Reference>
    </ds:SignedInfo>
    <ds:SignatureValue>...</ds:SignatureValue>
    <ds:KeyInfo>
      <ds:KeyName>...</ds:KeyName>
    </ds:KeyInfo>
 </ds:Signature>

Es gibt einen SignatureMethod-Algorithmus http: //www.w3.org/2000/09/xmldsig#rsa-sha) und ein DigestMethod-Algorithmus http: //www.w3.org/2000/09/xmldsig#sha).

Soweit ich weiß, bedeutet der SignatureMethod-Algorithmus 'rsa-sha1', dass der zu signierende Inhalt zuerst mit SHA1 gehasht (verdaut) und dann mit RSA signiert wird.

Entspricht der DigestMethod-Algorithmus immer dem Digest-Mechanismus, der im SignatureMethod-Algorithmus angegeben ist sha1 Teil von 'rsa-sha1')?

Ich glaube, das ist nicht der Fall, da es sinnlos wäre, denselben Algorithmus zweimal anzugeben. Was ich spekuliere, ist, dass es mehrere Referenzen geben kann, die mit verschiedenen DigestMethod-Algorithmen verdaut werden können, und die Auflistung dieser Digests wird erneut mit dem Digest-Mechanismus gehasht, der vom SignatureMethod-Algorithmus angegeben wird.

Ich bin Versuch, um dies zu verstehen, indem Sie auf die Spezifikation 'XML-Signatursyntax und -verarbeitung' verweisen. Würde mich sehr freuen, wenn jemand bestätigen kann, ob ich das richtig verstanden habe, oder die Zwecke erklären kann, denen diese beiden Algorithmen dienen. Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage