certificate-transparency-client 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 432eedd1e31749a9686f75eba890e8b0330726df
4
- data.tar.gz: c3e19b82c43dbab51650038b8e80b6ed8a405d9e
3
+ metadata.gz: 47509ede5ad48f3acedd9638c2baa2891fbab92b
4
+ data.tar.gz: bb6338c19b82864119ed264e36528eb16fa994c8
5
5
  SHA512:
6
- metadata.gz: abd585ab9194110d53d24d50629002b7ffcb9184c8568d18d4fcc771cd4288a4a0cc7019644df80da71363b3317d0e1de4b62e906bbb5425c09312ccffdc13ab
7
- data.tar.gz: 7e3a2b362fb55c77f9cadcecc0e8420f0de04dbd7c37dab42f8eb3b3e0cff09a7006ce04a507cfef556c0ed60c4f5d060fb06f020b35c6ad24e95bc9d7e2583d
6
+ metadata.gz: 6d7c45b6d58f33ac7815dd530d73d4fc6c36052fe2059bda16352c707e8f4ea0a487fd864fb0159e0e00d744cb62e4ac384d3dafee4049a920e8b47401dd5c94
7
+ data.tar.gz: f6991c57c1b2681f25fcf68e65b0bc473579cb5cbf8eafe53190b62873db40e3ed7cd34ff89ae1cb447d8ee9e0542d5601836b573e009fda4f7878549a61d6aa
@@ -13,6 +13,10 @@ class CertificateTransparency::Client
13
13
  #
14
14
  class HTTPError < Error; end
15
15
 
16
+ # Indicates an error in parsing a response from the server.
17
+ #
18
+ class DataError < Error; end
19
+
16
20
  # The public key of the log, as specified in the constructor.
17
21
  #
18
22
  # @return [OpenSSL::PKey]
@@ -91,6 +95,27 @@ class CertificateTransparency::Client
91
95
  end
92
96
  end
93
97
 
98
+ # Retrieve the full set of roots publicised as being supported by this log.
99
+ #
100
+ # @return [Array<OpenSSL::X509::Certificate>]
101
+ #
102
+ # @raise [CT::Client::HTTPError] if something went wrong with the HTTP request.
103
+ #
104
+ # @raise [CT::Client::DataError] if the data returned didn't meet our expectations.
105
+ #
106
+ def get_roots
107
+ json = make_request("get-roots")
108
+
109
+ begin
110
+ JSON.parse(json)["certificates"].map do |c|
111
+ OpenSSL::X509::Certificate.new(c.unpack("m").first)
112
+ end
113
+ rescue StandardError => ex
114
+ raise CT::Client::DataError,
115
+ "Failed to parse get-roots response: #{ex.message} (#{ex.class})"
116
+ end
117
+ end
118
+
94
119
  private
95
120
 
96
121
  # Make a request to the log server.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: certificate-transparency-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Palmer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-11 00:00:00.000000000 Z
11
+ date: 2015-06-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: certificate-transparency