[Tizen Software Development] adfree:
For tests with my little brain...

I will try this one to understand...

https://github.com/kislyuk/signxml/...leksey-xmldsig-01/enveloping-md5-hmac-md5.xml

594 Bytes :D :good:

<?xml version="1.0" encoding="UTF-8"?>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#hmac-md5"/>
<Reference URI="#object">
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#md5"/>
<DigestValue>/u+47lA0BK55De4qRAg16w==</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>7uFBgN6DOM9SJj+UBkM2fQ==</SignatureValue>
<Object Id="object">some text</Object>
</Signature>

Step 1.

Copy and Paste into this Online Verifier...

https://www.aleksey.com/xmlsec/xmldsig-verifier.html

Result looks like this:

RESULT: Signature is OK
---------------------------------------------------
= VERIFICATION CONTEXT
== Status: succeeded
== flags: 0x00000000
== flags2: 0x00000000
== Key Info Read Ctx:
= KEY INFO READ CONTEXT
== flags: 0x00000000
== flags2: 0x00000000
== enabled key data: all
== RetrievalMethod level (cur/max): 0/1
== TRANSFORMS CTX (status=0)
== flags: 0x00000000
== flags2: 0x00000000
== enabled transforms: all
=== uri: NULL
=== uri xpointer expr: NULL
== EncryptedKey level (cur/max): 0/1
=== KeyReq:
==== keyId: hmac
==== keyType: 0x00000004
==== keyUsage: 0x00000002
==== keyBitsSize: 0
=== list size: 0
== Key Info Write Ctx:
= KEY INFO WRITE CONTEXT
== flags: 0x00000000
== flags2: 0x00000000
== enabled key data: all
== RetrievalMethod level (cur/max): 0/1
== TRANSFORMS CTX (status=0)
== flags: 0x00000000
== flags2: 0x00000000
== enabled transforms: all
=== uri: NULL
=== uri xpointer expr: NULL
== EncryptedKey level (cur/max): 0/1
=== KeyReq:
==== keyId: NULL
==== keyType: 0x00000001
==== keyUsage: 0xffffffff
==== keyBitsSize: 0
=== list size: 0
== Signature Transform Ctx:
== TRANSFORMS CTX (status=2)
== flags: 0x00000000
== flags2: 0x00000000
== enabled transforms: all
=== uri: NULL
=== uri xpointer expr: NULL
=== Transform: c14n (href=http://www.w3.org/TR/2001/REC-xml-c14n-20010315)
=== Transform: hmac-md5 (href=http://www.w3.org/2001/04/xmldsig-more#hmac-md5)
=== Transform: membuf-transform (href=NULL)
== Signature Method:
=== Transform: hmac-md5 (href=http://www.w3.org/2001/04/xmldsig-more#hmac-md5)
== Signature Key:
== KEY
=== method: HMACKeyValue
=== key type: Symmetric
=== key name: test-hmac-sha1
=== key usage: -1
=== HMACKeyValue: size=48
== SignedInfo References List:
=== list size: 1
= REFERENCE VERIFICATION CONTEXT
== Status: succeeded
== URI: "#object"
== Reference Transform Ctx:
== TRANSFORMS CTX (status=2)
== flags: 0x00000000
== flags2: 0x00000000
== enabled transforms: all
=== uri:
=== uri xpointer expr: #object
=== Transform: xpointer (href=http://www.w3.org/2001/04/xmldsig-more/xptr)
=== Transform: c14n (href=http://www.w3.org/TR/2001/REC-xml-c14n-20010315)
=== Transform: md5 (href=http://www.w3.org/2001/04/xmldsig-more#md5)
=== Transform: membuf-transform (href=NULL)
== Digest Method:
=== Transform: md5 (href=http://www.w3.org/2001/04/xmldsig-more#md5)
== Manifest References List:
=== list size: 0

Okidoki...

Now I am trying to "decrypt" manually...

Step 1.

<DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#[B]md5[/B]"/>
<DigestValue>[B]/u+47lA0BK55De4qRAg16w==[/B]</DigestValue>

Expected result should be MD5 Hash... 16 Byte length... Base64 decode first...

FEEFB8EE503404AE790DEE2A440835EB

== in Base64 encoded seems 00 00

Step 2.

<SignatureValue>[B]7uFBgN6DOM9SJj+UBkM2fQ==[/B]</SignatureValue>

This time... hmac-md5... what ever this means...:D

So Step 2.1

Base64 decode... result:

EEE14180DE8338CF52263F940643367D0000

Hmmm...

Now I need some time to think about it...

Maybe this is usefull... to decrypt HMAC-MD5

http://www.freeformatter.com/hmac-generator.html