Entonces, en el nodo BinarySecurityToken solo le estan poniendo un nombre, un ID (que por alguna razon escogieron un nombre muy complicado !!)
Y luego en la firma digital, hacen referencia a ese nombre, ya que hay que "decirle" donde esta el certificado que se necesita para validar la firma
Entonces, en el nodo SecurityToken.Reference.Value indicas que el security token esta en el nodo identificado con el id tal y cual.
En resumen, puedes poner CUALQUIER VALOR, siempre y cuando sea el mismo en el BinarySecurityToken.Id vs. SecurityToken.Reference
Espero haberme explicado
El DigestValue es efectivamente el SHA1 del nodo TimeStamp pero expresado en base64***<o:BinarySecurityToken u:Id="uuid-7de252ad-a383-458d-a467-8aadb076df4f-1"
es el mismo valor que en
<o:Reference ValueType="http://docs.oasis-open.org/wss/2004/01/ ... rofile-1.0#X509v3" URI="#uuid-7de252ad-a383-458d-a467-8aadb076df4f-1"/>
Mira como dice.......que un certificado X509 esta en el URI identificado con el id tal y cual
El el SignatureValue, es el sello digital, tal como lo indicas
***ES AQUI DONDE A MI ME FALLA, no se porque no puedo obtener el mismo sha1.base64 que el ejemplo
Hay una pagina para obtener este valor aqui solo cambia donde dice Output format a que diga "base 64 output"