Signature parameter

From SafeStamper API documentation
Jump to navigation Jump to search

Some API operations require a signature to authenticate the API client.

To calculate the signature, follow this steps:

  • Build a string with all parameters ordered alphabetically, separated by & and without url-encoding
  • Get the bytes of the string, using UTF-8 encoding
  • Get the bytes of your private key, using UTF-8 encoding
  • Calculate the HMAC-SHA1 of the string bytes, with your private key bytes
  • Encode the signature bytes as hexadecimal digit pairs

Example

Parameters:

  • url = https://www.google.com/search?q=Safe+Stamper&gws_rd=cr,ssl
  • sharedkey = 789lq9o6im682tl0m1rej34ls

Private key:

  • 1omnpo704w6u2ad2lxo2wrdm5


String to sign:

sharedkey=789lq9o6im682tl0m1rej34ls&url=https://www.google.com/search?q=Safe+Stamper&gws_rd=cr,ssl


Content bytes (hexadeximal):

73 68 61 72 65 64 6b 65 79 3d 37 38 39 6c 71 39  |sharedkey=789lq9|
6f 36 69 6d 36 38 32 74 6c 30 6d 31 72 65 6a 33  |o6im682tl0m1rej3|
34 6c 73 26 75 72 6c 3d 68 74 74 70 73 3a 2f 2f  |4ls&url=https://|
77 77 77 2e 67 6f 6f 67 6c 65 2e 63 6f 6d 2f 73  |www.google.com/s|
65 61 72 63 68 3f 71 3d 53 61 66 65 2b 53 74 61  |earch?q=Safe+Sta|
6d 70 65 72 26 67 77 73 5f 72 64 3d 63 72 2c 73  |mper&gws_rd=cr,s|
73 6c                                            |sl|


Key bytes (hexadecimal)

31 6f 6d 6e 70 6f 37 30  34 77 36 75 32 61 64 32  |1omnpo704w6u2ad2|
6c 78 6f 32 77 72 64 6d  35 0a                    |lxo2wrdm5.|


HMAC-SHA1

3e e8 b6 11 39 50 c0 c8 49 4b a0 3b 4f b8 d6 16 c7 fb 9a 25


Signature string:

3ee8b6113950c0c8494ba03b4fb8d616c7fb9a25