Xolphin API wrapper for Python

xolphin-python-api is a library which allows quick integration of the Xolphin REST API in Python to automated ordering, issuance and installation of SSL Certificates.

Library installation

Library can be installed via pip

pip install xolphin-api

And updated via

pip install xolphin-api --upgrade

Or manually from source

git clone https://github.com/xolphin/xolphin-api-python.git
cd xolphin-api-python
python setup.py install

Usage

Client initialization

import xolphin

client = xolphin.Client('<username>', '<password>')

Requests

Getting list of requests

requests = client.request().all()
for request in requests:
    print(request.id, request.product.id)

Getting request by ID

request = client.request().get(960000002)
print(request.product.brand)

Request certificate

ccr = client.request().create(24, 1, 'csr string', 'EMAIL')
ccr.address = 'Address'
ccr.approver_first_name = 'FirstName'
ccr.approver_last_name = 'LastName'
ccr.approver_phone = '+12345678901'
ccr.approver_email = 'email@example.com'
ccr.zipcode = '123456'
ccr.city = 'City'
ccr.company = 'Company'
ccr.subject_alternative_names.append('test1.example.com')
ccr.subject_alternative_names.append('test2.example.com')
ccr.dcv.append({
    'domain': 'test1.example.com',
    'dcvType': 'EMAIL',
    'approverEmail': 'email@example.com'
})

request = client.request().send(ccr)
print(request.id)

Certificate

Certificates list and expirations

certificates = client.certificate().all()
for certificate in certificates:
    print(certificate.id, certificate.isExpired())

Download certificate

cert = client.certificate().download(960000002, 'CRT')
with open('crt.crt', 'wb') as f:
    f.write(cert)

Support

Products list

products = client.support().products()
for product in products:
    print(product.id, product.brand)

Decode CSR

data = client.support().decode_csr('csr string')
print(data.type, data.size)
point up