Working client and server.

This commit is contained in:
Ian Gulliver
2016-04-05 06:42:42 +00:00
parent 0cfe9aa136
commit 7652b054a9
2 changed files with 39 additions and 18 deletions

View File

@@ -2,6 +2,7 @@
import argparse
import requests
import sys
parser = argparse.ArgumentParser(description='certclient')
@@ -20,11 +21,6 @@ parser.add_argument(
dest='client_key',
action='store',
required=True)
parser.add_argument(
'--csr',
dest='csr',
action='store',
required=True)
parser.add_argument(
'--server',
dest='server',
@@ -35,7 +31,7 @@ FLAGS = parser.parse_args()
class CertClient(object):
def __init__(self, server, ca_cert, client_cert, client_key, csr):
def __init__(self, server, ca_cert, client_cert, client_key):
self._session = requests.Session()
self._session.verify = ca_cert
self._session.cert = (client_cert, client_key)
@@ -43,11 +39,12 @@ class CertClient(object):
'Content-Type': 'application/x-pem-file',
})
self._server = server
self._csr = csr
def Request(self):
with open(self._csr, 'r') as fh:
self._session.post(self._server, data=fh.read())
def Request(self, csr):
resp = self._session.post(self._server, data=csr)
assert resp.status_code == requests.codes.ok
assert resp.headers['Content-Type'] == 'application/x-pem-file'
return resp.text
def main():
@@ -55,9 +52,9 @@ def main():
FLAGS.server,
FLAGS.ca_cert,
FLAGS.client_cert,
FLAGS.client_key,
FLAGS.csr)
client.Request()
FLAGS.client_key)
cert = client.Request(sys.stdin.read())
print(cert, end='')
if __name__ == '__main__':