· 4 years ago · Jun 30, 2021, 04:52 AM
1#
2# Python modules for select EJBCA REST API
3#
4
5import os
6import sys
7
8from typing import Tuple, Optional, Union
9
10from cryptography import x509
11from cryptography.hazmat.primitives import serialization
12
13import urllib3
14
15from urllib.parse import quote, unquote
16
17import datetime
18import json
19
20iso8601_fmt = '%Y-%m-%dT%H:%M:%SZ'
21
22class Creds:
23
24 __slots__ = ('_secure', '_bundle', '_cert', '_key')
25
26 def __init__(
27 self,
28 secure: bool = False,
29 bundle: Optional[bytes] = None,
30 cert: Optional[bytes] = None,
31 key: Optional[bytes] = None,
32 ):
33 self._secure = secure
34 self._bundle = bundle
35 self._cert = cert
36 self._key = key
37
38 def dump(self):
39 print('_secure: {0:b}'.format(self._secure))
40 print('_bundle: {0!s}'.format(self._bundle))
41 print('_cert: {0!s}'.format(self._cert))
42 print('_key: {0!s}'.format(self._key))
43
44 @property
45 def secure(self) -> bool:
46 return self._secure
47
48 @secure.setter
49 def secure(self, value: bool) -> None:
50 self._secure = value
51
52 @property
53 def bundle(self) -> bytes:
54 return self._bundle
55
56 @bundle.setter
57 def bundle(self, value: Union[bytes, None]) -> None:
58 self._bundle = value
59
60 @property
61 def cert(self) -> bytes:
62 return self._cert
63
64 @cert.setter
65 def cert(self, value: Union[bytes, None]) -> None:
66 self._cert = value
67
68 @property
69 def key(self) -> bytes:
70 return self._key
71
72 @key.setter
73 def key(self, value: Union[bytes, None]) -> None:
74 self._key = value
75