globessl 1.0.2 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +28 -10
- data/lib/globessl/products.rb +8 -8
- data/lib/globessl/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8a654041dc608898cc6b1b0aa43f4e70b75236f8
|
4
|
+
data.tar.gz: 3f704bcb9936333a013742888de168111e2be071
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 10a7ae06544aa1a18b02475446f2bcb8ecea3942cbeb98ae19193caa76494373b6a849242f3839f76d74f8e39f94452e0920aca7baad70ad61d712107c28f808
|
7
|
+
data.tar.gz: 65b553f165e5cf232d6e2c2a3f5ddcec782dbeb36c0eecdadfb640217331a3d54760413d6a97467097a741610607cdc332648cdd3299e75f2f5e45179a9f9dd5
|
data/README.md
CHANGED
@@ -4,11 +4,11 @@
|
|
4
4
|
The **GlobeSSL Client** is a Ruby API client for GlobeSSL CA resellers. This client provides almost all of the functionality exposed by version 2 of their API. To use this client you will need an API key.
|
5
5
|
|
6
6
|
## Background
|
7
|
-
The **GlobeSSL Client** is an opinionated client library for the GlobeSSL CA API.
|
7
|
+
The **GlobeSSL Client** is an opinionated client library for the GlobeSSL CA API. I built this library to provide fully automated provisioning of SSL Certificates for our client's apps and websites using the Brightcommerce API.
|
8
8
|
|
9
9
|
The **GlobeSSL Client** provides endpoint access to the API methods that fulfill our requirements. It is very important to us that integration with GlobeSSL CA is seamless and provides as few touch-points as possible with the end-user. For instance, for the domain validation method we use the 'http' method which permits us to prove ownership of a domain by providing a specific text file at a specific URL. This means the end-user doesn't have to click a link in an email and punch in a code to validate ownership of a domain. We also use their autocsr method to generate the Certificate Signing Request and Private Key, rather than shell out and use OpenSSL.
|
10
10
|
|
11
|
-
The **GlobeSSL Client** has undergone extensive real-world testing with real certificates.
|
11
|
+
The **GlobeSSL Client** has undergone extensive real-world testing with real certificates. I worked closely with the CTO from GlobeSSL CA to address any issues or suggestions we had with their API. The assistance we received was truly excellent, and I'm happy to provide this library to the public domain, which we hope will only mean more resellers for them.
|
12
12
|
|
13
13
|
## About GlobeSSL CA
|
14
14
|
To find out more about GlobeSSL CA please visit their [website](https://www.globessl.com). You can find out more about the API by reading their [documentation](https://api.globessl.com/docs/). To use their API you need to have a reseller account, you can find out more about their reseller plans at the [strategic partners](https://www.globessl.com/strategic-partners/) page on their website.
|
@@ -26,16 +26,16 @@ gem install globessl
|
|
26
26
|
```
|
27
27
|
|
28
28
|
## Dependencies
|
29
|
-
**GlobeSSL Client** has the following runtime dependencies:
|
29
|
+
The **GlobeSSL Client** has the following runtime dependencies:
|
30
30
|
- Virtus ~> 1.0.3
|
31
31
|
|
32
32
|
## Compatibility
|
33
|
-
Developed with MRI 2.2, however the `.
|
33
|
+
Developed with MRI 2.2, however the `.gemspec` only specifies MRI 2.0. It may work with other flavors, but it hasn't been tested. Please let us know if you encounter any issues.
|
34
34
|
|
35
35
|
## How To Use
|
36
36
|
|
37
37
|
### Prerequisites
|
38
|
-
**GlobeSSL Client** requires an API key. By default the library will look for your API key in the environment variable `GLOBESSL_API_KEY`. If you'd like to override this and provide the API key directly to the API, setup a configuration initializer as shown below:
|
38
|
+
The **GlobeSSL Client** requires an API key. By default the library will look for your API key in the environment variable `GLOBESSL_API_KEY`. If you'd like to override this and provide the API key directly to the API, setup a configuration initializer as shown below:
|
39
39
|
```ruby
|
40
40
|
GlobeSSL.configure do |config|
|
41
41
|
config.api_key = "b04b4e74c57c37de48863ef9373963e0b496f5e7" # fictional
|
@@ -64,11 +64,11 @@ The **GlobeSSL Client** provides access to the following GlobeSSL CA API endpoin
|
|
64
64
|
- [dcv/change](https://api.globessl.com/docs/#api-dcv-change) Change DCV Method for SSL Certificate.
|
65
65
|
- [dcv/resend](https://api.globessl.com/docs/#api-dcv-resend) Re-sends validation email for the SSL Certificate.
|
66
66
|
|
67
|
-
**GlobeSSL Client** does not provide access the following GlobeSSL CA API endpoint:
|
67
|
+
The **GlobeSSL Client** *does not* provide access the following GlobeSSL CA API endpoint:
|
68
68
|
- [order/quick](https://api.globessl.com/docs/#api-order-quickssl) Order a new SSL Certificate using invite method. The client will receive the URL for completing the SSL generation.
|
69
69
|
|
70
70
|
## How To Use
|
71
|
-
|
71
|
+
I've attempted to make the **GlobeSSL Client** interface as consistent as possible. The GlobeSSL CA API has the following rules:
|
72
72
|
- `GET` requests require any parameters in the URL.
|
73
73
|
- `POST` requests require any parameters as `x-www-form-urlencoded` and passed in the request body.
|
74
74
|
- The resellers API key is passed in the `X-API-KEY` header.
|
@@ -79,6 +79,8 @@ The **GlobeSSL Client** breaks the API into consistent logical domain models. Th
|
|
79
79
|
Following are examples of how to instantiate each class with attributes where necessary, and the properties that can be queried on the class after each API call. All example information including names, addresses and other details are completely fictional and provided to give context.
|
80
80
|
|
81
81
|
### Account Balance
|
82
|
+
Returns the current account balance and currency.
|
83
|
+
|
82
84
|
```ruby
|
83
85
|
@account = GlobeSSL::AccountBalance.new
|
84
86
|
|
@@ -97,6 +99,8 @@ end
|
|
97
99
|
```
|
98
100
|
|
99
101
|
### Account Details
|
102
|
+
Returns the account details such as reseller name, company, address and contact details. It also returns the current balance.
|
103
|
+
|
100
104
|
```ruby
|
101
105
|
@account = GlobeSSL::AccountDetails.new
|
102
106
|
|
@@ -125,6 +129,8 @@ end
|
|
125
129
|
```
|
126
130
|
|
127
131
|
### Products
|
132
|
+
Returns a list of SSL products presented as an array of GlobeSSL::Product. You can retrieve a single SSL product given a product id.
|
133
|
+
|
128
134
|
```ruby
|
129
135
|
@products = GlobeSSL::Products.new
|
130
136
|
|
@@ -152,9 +158,9 @@ prod.id #=> 106
|
|
152
158
|
prod.name #=> Globe FREE SSL
|
153
159
|
prod.validation #=> dv
|
154
160
|
prod.wildcard #=> false
|
155
|
-
prod.
|
156
|
-
prod.
|
157
|
-
prod.
|
161
|
+
prod.multi_domain #=> false
|
162
|
+
prod.min_domains #=> 0
|
163
|
+
prod.max_domains #=> 0
|
158
164
|
prod.brand #=> Globe SSL
|
159
165
|
|
160
166
|
# You can also request a single product like so:
|
@@ -171,6 +177,8 @@ end
|
|
171
177
|
```
|
172
178
|
|
173
179
|
### Webservers
|
180
|
+
Returns a list of webserver types to be used when ordering an SSL product.
|
181
|
+
|
174
182
|
```ruby
|
175
183
|
@webservers = GlobeSSL::Webservers.new
|
176
184
|
|
@@ -199,6 +207,8 @@ webserver.name #=> AOL
|
|
199
207
|
```
|
200
208
|
|
201
209
|
### Domain Emails
|
210
|
+
Returns a list of emails required when validating ownership of a domain using the `dv` method.
|
211
|
+
|
202
212
|
```ruby
|
203
213
|
@domain_emails = GlobeSSL::DomainEmails.new(:domain => "acmecerts.com")
|
204
214
|
|
@@ -225,6 +235,8 @@ email.is_a?(String) #=> true
|
|
225
235
|
```
|
226
236
|
|
227
237
|
### Certificate Signing Request (CSR)
|
238
|
+
Used to generate a CSR and Private Key pair. This class uses the GlobeSSL CA API `autocsr` endpoint.
|
239
|
+
|
228
240
|
```ruby
|
229
241
|
@csr = GlobeSSL::CertificateSigningRequest.new(
|
230
242
|
:country_name => "US",
|
@@ -257,6 +269,8 @@ result = @csr.decode #=> true
|
|
257
269
|
```
|
258
270
|
|
259
271
|
### Order SSL Certificate
|
272
|
+
Place an order for an SSL product.
|
273
|
+
|
260
274
|
```ruby
|
261
275
|
@order = GlobeSSL::OrderSSLCertificate.new(
|
262
276
|
:admin_firstname => "Richard",
|
@@ -294,6 +308,8 @@ end
|
|
294
308
|
```
|
295
309
|
|
296
310
|
### SSL Certificate
|
311
|
+
Returns an SSL certificate given a certificate id.
|
312
|
+
|
297
313
|
```ruby
|
298
314
|
@cert = GlobeSSL::SSLCertificate.new(
|
299
315
|
:id => @order.certificate_id # from above
|
@@ -328,6 +344,8 @@ end
|
|
328
344
|
```
|
329
345
|
|
330
346
|
### Domain Control Validation
|
347
|
+
Provides methods to resend a domain control validation email, or change the `dcv_method`.
|
348
|
+
|
331
349
|
```ruby
|
332
350
|
@dcv = GlobeSSL::DomainControlValidation.new(
|
333
351
|
:certificate => cert, # from above
|
data/lib/globessl/products.rb
CHANGED
@@ -18,14 +18,14 @@ module GlobeSSL
|
|
18
18
|
|
19
19
|
collection.each do |product|
|
20
20
|
@list << Product.new(
|
21
|
-
:id
|
22
|
-
:name
|
23
|
-
:validation
|
24
|
-
:wildcard
|
25
|
-
:
|
26
|
-
:
|
27
|
-
:
|
28
|
-
:brand
|
21
|
+
:id => product["id"],
|
22
|
+
:name => product["name"],
|
23
|
+
:validation => product["validation"],
|
24
|
+
:wildcard => product["wildcard"],
|
25
|
+
:multi_domain => product["mdc"],
|
26
|
+
:min_domains => product["mdc_min"],
|
27
|
+
:max_domains => product["mdc_max"],
|
28
|
+
:brand => product["brand"]
|
29
29
|
)
|
30
30
|
end
|
31
31
|
return true
|
data/lib/globessl/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: globessl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jurgen Jocubeit
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: virtus
|
@@ -77,6 +77,6 @@ rubyforge_project:
|
|
77
77
|
rubygems_version: 2.4.5
|
78
78
|
signing_key:
|
79
79
|
specification_version: 4
|
80
|
-
summary: GlobeSSL Ruby Client v1.0.
|
80
|
+
summary: GlobeSSL Ruby Client v1.0.4
|
81
81
|
test_files: []
|
82
82
|
has_rdoc:
|