2015-07-13 23:57:01 +02:00
|
|
|
#!/usr/bin/env python
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
|
|
from Crypto.Hash import MD5
|
|
|
|
from Crypto.Cipher import AES
|
|
|
|
from base64 import b64decode
|
|
|
|
from requests import get
|
|
|
|
from socket import gethostname
|
2015-07-14 22:01:41 +02:00
|
|
|
from tempfile import mkstemp
|
2015-09-23 23:58:30 +02:00
|
|
|
import time
|
2015-07-14 22:01:41 +02:00
|
|
|
import os
|
2015-07-13 23:57:01 +02:00
|
|
|
|
|
|
|
key = MD5.new(gethostname()).digest()
|
|
|
|
cipher = AES.new(key, AES.MODE_ECB)
|
2015-09-23 23:58:30 +02:00
|
|
|
|
|
|
|
for i in range(10):
|
|
|
|
try:
|
|
|
|
base64enc = get("http://{{ ansible_local.domain.serverfqdn }}:3000/vaultpass")
|
|
|
|
break
|
|
|
|
except:
|
|
|
|
time.sleep(1)
|
|
|
|
|
2015-07-14 01:06:00 +02:00
|
|
|
encrypted = b64decode(base64enc.content)
|
2015-07-13 23:57:01 +02:00
|
|
|
longpass = cipher.decrypt(encrypted)
|
|
|
|
|
2015-07-14 22:01:41 +02:00
|
|
|
fd, filename = mkstemp()
|
2015-07-14 22:03:52 +02:00
|
|
|
os.write(fd, longpass.strip('x'))
|
2015-07-14 22:01:41 +02:00
|
|
|
os.close(fd)
|
|
|
|
|
|
|
|
print(filename)
|