Class: Tinycert::Cert

Inherits:
Object
  • Object
show all
Defined in:
lib/tinycert/cert.rb

Constant Summary collapse

CERT =
"cert"
CHAIN =
"chain"
CSR =
"csr"
KEY_DEC =
"key.dec"
KEY_ENC =
"key.enc"
PKCS12 =
"pkcs12"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(tinycert, results) ⇒ Cert

Returns a new instance of Cert.



5
6
7
8
# File 'lib/tinycert/cert.rb', line 5

def initialize tinycert, results
  @tinycert = tinycert
  parse_results results
end

Instance Attribute Details

#cnObject (readonly)

Returns the value of attribute cn.



3
4
5
# File 'lib/tinycert/cert.rb', line 3

def cn
  @cn
end

#idObject (readonly)

Returns the value of attribute id.



3
4
5
# File 'lib/tinycert/cert.rb', line 3

def id
  @id
end

#namesObject (readonly)

Returns the value of attribute names.



3
4
5
# File 'lib/tinycert/cert.rb', line 3

def names
  @names
end

#statusObject (readonly)

Returns the value of attribute status.



3
4
5
# File 'lib/tinycert/cert.rb', line 3

def status
  @status
end

Instance Method Details

#certObject



17
18
19
# File 'lib/tinycert/cert.rb', line 17

def cert
  get CERT
end

#chainObject



21
22
23
# File 'lib/tinycert/cert.rb', line 21

def chain
  get CHAIN
end

#change_status(new_status) ⇒ Object



56
57
58
59
60
61
62
# File 'lib/tinycert/cert.rb', line 56

def change_status new_status
  request = @tinycert.session_request 'https://www.tinycert.org/api/v1/cert/status', {
    cert_id: id,
    status: new_status
  }
  request.results
end

#csrObject



25
26
27
# File 'lib/tinycert/cert.rb', line 25

def csr
  get CSR
end

#detailsObject



46
47
48
49
50
# File 'lib/tinycert/cert.rb', line 46

def details
  request = @tinycert.session_request 'https://www.tinycert.org/api/v1/cert/details', { cert_id: id }
  parse_results request.results
  self
end

#get(what) ⇒ Object



41
42
43
44
# File 'lib/tinycert/cert.rb', line 41

def get what
  request = @tinycert.session_request 'https://www.tinycert.org/api/v1/cert/get', { cert_id: id, what: what }
  request.results
end

#key_decObject



29
30
31
# File 'lib/tinycert/cert.rb', line 29

def key_dec
  get KEY_DEC
end

#key_encObject



33
34
35
# File 'lib/tinycert/cert.rb', line 33

def key_enc
  get KEY_ENC
end

#parse_results(results) ⇒ Object



64
65
66
67
68
69
70
71
# File 'lib/tinycert/cert.rb', line 64

def parse_results results
  @id = results['id']
  @id ||= results['cert_id']
  @status = results['status']
  @cn = results['CN']
  @cn ||= results['name']
  @names = results.fetch('Alt', []).collect { |name| name['DNS'] }
end

#pkcs12Object



37
38
39
# File 'lib/tinycert/cert.rb', line 37

def pkcs12
  get PKCS12
end

#revokeObject



52
53
54
# File 'lib/tinycert/cert.rb', line 52

def revoke
  change_status 'revoked'
end