Browse Source

Add `openssl` example for registration HMAC (#13472)

Signed-off-by: James Barton <james@neodon.com>
James Barton 1 year ago
parent
commit
e825f7366b
2 changed files with 20 additions and 2 deletions
  1. 1 0
      changelog.d/13472.doc
  2. 19 2
      docs/admin_api/register_api.md

+ 1 - 0
changelog.d/13472.doc

@@ -0,0 +1 @@
+Add `openssl` example for generating registration HMAC digest.

+ 19 - 2
docs/admin_api/register_api.md

@@ -46,7 +46,24 @@ As an example:
 The MAC is the hex digest output of the HMAC-SHA1 algorithm, with the key being
 the shared secret and the content being the nonce, user, password, either the
 string "admin" or "notadmin", and optionally the user_type
-each separated by NULs. For an example of generation in Python:
+each separated by NULs.
+
+Here is an easy way to generate the HMAC digest if you have Bash and OpenSSL:
+
+```bash
+# Update these values and then paste this code block into a bash terminal
+nonce='thisisanonce'
+username='pepper_roni'
+password='pizza'
+admin='admin'
+secret='shared_secret'
+
+printf '%s\0%s\0%s\0%s' "$nonce" "$username" "$password" "$admin" |
+  openssl sha1 -hmac "$secret" |
+  awk '{print $2}'
+```
+
+For an example of generation in Python:
 
 ```python
 import hmac, hashlib
@@ -70,4 +87,4 @@ def generate_mac(nonce, user, password, admin=False, user_type=None):
         mac.update(user_type.encode('utf8'))
 
     return mac.hexdigest()
-```
+```