Advertisement
Guest User

Untitled

a guest
Aug 11th, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. import splunk.auth
  2. import splunk.rest
  3. import json
  4. import hashlib
  5.  
  6. # Authenticate
  7. session_key = splunk.auth.getSessionKey(username='admin', password='changeme')
  8.  
  9. # Read in the file
  10. with open('password.txt', 'r') as myfile:
  11. password_orig = myfile.read().replace('\n', '')
  12.  
  13. m = hashlib.md5()
  14. m.update(password_orig)
  15. password_orig_hash = m.hexdigest()
  16.  
  17. # Make up the args
  18. username = "Certificate"
  19. realm = "some_input"
  20.  
  21. postargs = {
  22. 'realm': realm,
  23. 'name' : username,
  24. 'password' : password_orig
  25. }
  26.  
  27. stanza = realm + ':' + username
  28.  
  29. # Delete the existing entry if it exists
  30. server_response, server_content = splunk.rest.simpleRequest('/services/storage/passwords/' + stanza, sessionKey=session_key, method="DELETE")
  31.  
  32. if server_response['status'] != '200':
  33. print server_content
  34. raise Exception("Server response indicates that the request failed: " + server_response['status'])
  35.  
  36. # Save it
  37. server_response, server_content = splunk.rest.simpleRequest('/services/storage/passwords/', sessionKey=session_key, postargs=postargs)
  38.  
  39. if server_response['status'] != '201':
  40. print server_content
  41. raise Exception("Server response indicates that the request failed: " + server_response['status'])
  42.  
  43. # Load it
  44. server_response, server_content = splunk.rest.simpleRequest('/services/storage/passwords/' + stanza + '?output_mode=json', sessionKey=session_key)
  45.  
  46. if server_response['status'] != '200':
  47. raise Exception("Server response indicates that the request failed: " + server_response['status'])
  48.  
  49. password_content = json.loads(server_content)
  50.  
  51. # Check out the result
  52. password_after = password_content['entry'][0]['content']['clear_password']
  53.  
  54. m = hashlib.md5()
  55. m.update(password_after)
  56. password_after_hash = m.hexdigest()
  57.  
  58. assert len(password_after) == len(password_orig)
  59. print "length of entry matches", len(password_after), len(password_orig)
  60.  
  61. assert password_orig_hash == password_after_hash
  62. print "hash of entry matches", password_after_hash, password_orig_hash
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement