Алгоритм SignatureMethod и алгоритм DigestMethod в подписи XML

Если взять в качестве примера следующий элемент Signature:

<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>

Существует алгоритм SignatureMethod (http://www.w3.org/2000/09/xmldsig#rsa-sha1) и алгоритм DigestMethod (http://www.w3.org/2000/09/xmldsig#sha1).

Насколько я понимаю, алгоритм SignatureMethod, означающий «rsa-sha1», означает, что подписываемый контент сначала хэшируется (переваривается) с использованием SHA1, а затем подписывается с использованием RSA.

Всегда ли алгоритм DigestMethod равен механизму дайджеста, указанному в алгоритме SignatureMethod (sha1 часть rsa-sha1)?

Я считаю, что это не так, потому что было бы бесполезно указывать один и тот же алгоритм дважды. Я предполагаю, что может быть несколько ссылок, которые могут быть переварены с использованием различных алгоритмов DigestMethod, и коллекция этих дайджестов будет снова хеширована с использованием механизма дайджеста, заданного алгоритмом SignatureMethod.

япытаясь чтобы понять это, обратитесь к спецификации «Синтаксис и обработка подписи XML». Был бы очень признателен, если бы кто-то мог подтвердить, правильно ли я понял, или объяснить цели, служащие этим двум алгоритмам. Благодарю.

Ответы на вопрос(1)

Ваш ответ на вопрос