Skip to content
Snippets Groups Projects
Unverified Commit e825f736 authored by James Barton's avatar James Barton Committed by GitHub
Browse files

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


Signed-off-by: default avatarJames Barton <james@neodon.com>
parent 953df2ad
No related branches found
No related tags found
No related merge requests found
Add `openssl` example for generating registration HMAC digest.
...@@ -46,7 +46,24 @@ As an example: ...@@ -46,7 +46,24 @@ As an example:
The MAC is the hex digest output of the HMAC-SHA1 algorithm, with the key being 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 the shared secret and the content being the nonce, user, password, either the
string "admin" or "notadmin", and optionally the user_type 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 ```python
import hmac, hashlib import hmac, hashlib
...@@ -70,4 +87,4 @@ def generate_mac(nonce, user, password, admin=False, user_type=None): ...@@ -70,4 +87,4 @@ def generate_mac(nonce, user, password, admin=False, user_type=None):
mac.update(user_type.encode('utf8')) mac.update(user_type.encode('utf8'))
return mac.hexdigest() return mac.hexdigest()
``` ```
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment