VaultSecret,
    VaultAES256,
)
from cryptography.hazmat.primitives import hashes, padding
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.ciphers import (Cipher as C_Cipher,
                                                    algorithms, modes)

dir = os.path.dirname(__file__)
filename = dir + '/files/OnePointOneStringNoTag.txt'
vault_text = open(filename, 'r').read()

lib = VaultLib(secrets=[['default', VaultSecret("daniel-ness/ansible-vault")]])
print lib.decrypt(vault_text)

plaintext, vault_id, vault_secret = lib.decrypt_and_get_vault_id(vault_text)
print plaintext
print vault_text
b_vaulttext, dummy, cipher_name, vault_id = parse_vaulttext_envelope(
    vault_text)
print b_vaulttext
cipher_text, salt, crypted_hmac = parse_vaulttext(b_vaulttext)

print("Cipher Text: " + hexlify(cipher_text))
print("Salt: " + hexlify(salt))
print("HMAC: " + crypted_hmac)

aes = VaultAES256()
key1, key2, iv = aes._gen_key_initctr("daniel-ness/ansible-vault", salt)

print("Key1: " + hexlify(key1))