Skip to content

Instantly share code, notes, and snippets.

@lbragstad
Last active January 23, 2019 20:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lbragstad/5338e8bfdcc1158ceaedffd4036e671e to your computer and use it in GitHub Desktop.
Save lbragstad/5338e8bfdcc1158ceaedffd4036e671e to your computer and use it in GitHub Desktop.
Hash a DN
#! /usr/bin/env python
import argparse
import hashlib
parser = argparse.ArgumentParser(description='Hash DN')
parser.add_argument('dn')
args = parser.parse_args()
hashed = hashlib.sha256(args.dn)
print(hashed.hexdigest())
#! /usr/bin/env python
import argparse
parser = argparse.ArgumentParser(description='Reorder DN')
parser.add_argument('dn')
args = parser.parse_args()
parts = args.dn.split(',')
ordered_parts = []
argument_order = dict(emailAddress=0, CN=1, OU=2, O=3, L=4, ST=5, C=6)
for k, v in sorted(argument_order.items(), key=lambda t: t[1]):
for part in parts:
attributes = part.split('=')
key = attributes[0].strip()
value = attributes[1].strip()
if key == k:
ordered_parts.append(key + '=' + value)
dn = ','.join(ordered_parts)
print(dn)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment