Skip to content

Commit a90a14d

Browse files
committed
Added Encryption Everywhere support, updated readme
1 parent a185630 commit a90a14d

File tree

5 files changed

+62
-0
lines changed

5 files changed

+62
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ dist/
33
xolphin_api.egg-info/
44
.idea/
55
*.py~
6+
*.pyc

readme.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,20 @@ for note in result:
9696
print(note.messageBody);
9797
```
9898

99+
#### Request an "Encryption Everywhere" certificate
100+
```python
101+
ccr = client.request().create_ee()
102+
ccr.csr = "<csr_string>"
103+
ccr.approver_first_name = 'FirstName'
104+
ccr.approver_last_name = 'LastName'
105+
ccr.approver_phone = '+12345678901'
106+
ccr.approver_email = 'email@domain.com'
107+
ccr.subject_alternative_names.append('test1.domain.com')
108+
ccr.subject_alternative_names.append('test2.domain.com')
109+
ccr.dcvType = 'DNS'
110+
request = client.request().send_ee(ccr)
111+
```
112+
99113
#### Send a "Comodo Subscriber Agreement" email
100114

101115
```python
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import json
2+
3+
class CreateEERequest(object):
4+
def __init__(self):
5+
6+
self.csr = ''
7+
self.approver_first_name = ''
8+
self.approver_last_name = ''
9+
self.approver_email = ''
10+
self.approver_phone = ''
11+
self.dcv_type = 'FILE'
12+
self.subject_alternative_names = []
13+
14+
def toDict(self):
15+
result = {
16+
'csr': self.csr,
17+
'dcvType': self.dcv_type,
18+
'approverFirstName': self.approver_first_name,
19+
'approverLastName': self.approver_last_name,
20+
'approverEmail': self.approver_email,
21+
'approverPhone': self.approver_phone,
22+
}
23+
24+
if len(self.subject_alternative_names) > 0: result['subjectAlternativeNames'] = ','.join(self.subject_alternative_names)
25+
26+
return result

xolphin/endpoint/request.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
from xolphin.certificate_requests.create_certificate_request import CreateCertificateRequest
2+
from xolphin.certificate_requests.create_ee_request import CreateEERequest
23
from xolphin.responses.base import Base
34
from xolphin.responses.requests import Requests
45
from xolphin.responses.request import Request as Req
6+
from xolphin.responses.request_ee import RequestEE as ReqEE
57
from xolphin.responses.notes import Notes
68

79

@@ -25,10 +27,16 @@ def all(self):
2527

2628
def create(self, product, years, csr, dcv_type):
2729
return CreateCertificateRequest(product, years, csr, dcv_type)
30+
31+
def create_ee(self):
32+
return CreateEERequest()
2833

2934
def send(self, request):
3035
return Req(self.client.post('requests', request.toDict()))
3136

37+
def send_ee(self, request):
38+
return ReqEE(self.client.post('requests/ee', request.toDict()))
39+
3240
def get(self, id):
3341
return Req(self.client.get('requests/%d' % id))
3442

xolphin/responses/request_ee.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from xolphin.responses.base import Base
2+
from xolphin.responses.product import Product
3+
from xolphin.responses.request_validation import RequestValidation
4+
5+
6+
class RequestEE(Base):
7+
def __init__(self, data):
8+
super(RequestEE, self).__init__(data)
9+
if not self.is_error():
10+
if 'id' in data: self.id = data['id']
11+
if 'dateOrdered' in data: self.date_ordered = data['dateOrdered']
12+
if 'pkcs7' in data: self.pkcs7 = data['pkcs7']
13+
if 'crt' in data: self.crt = data['crt']

0 commit comments

Comments
 (0)