Ekey
A ruby wrapper for API of the ekey.ru
Installation
Add this line to your application's Gemfile:
gem 'ekey'
And then execute:
$ bundle
Or install it yourself as:
$ gem install ekey
Usage
api_key setup
First of all, setup api_key
. To do this, put a file ekey.rb
into rails config/initializers directory.
Ekey::Config.api_key = <your_api_key>
If you aren't using rails, just make shure, api_key fills in before any API methods calls.
Sending certificate request
To send certificate request (csr) to the certificate authority CA, use the CSR.issue
method
Ekey::Certificate.issue(csr)
Where the csr
parameter is the signed certificate request in the pem
format.
Here is shortened example of the csr in pem format:
-----BEGIN CERTIFICATE REQUEST-----\nMIICTzCCAfwCAQAwggFEMT0wOwYDVQQDHjQEEAQ7BDUEOgRBBDAEPQQ0BEAAIAQfBDAEMgQ7BD4EMgQ4BEcAIAQSBDAEMgQ4BDsEPgQyMRUwEwYYVQUHHgwGHPQ\n-----END CERTIFICATE REQUEST-----
Result: a ruby Hash, in format: {"created_request_id" => <number>}
or {"error" => <message>}
.
Getting issued certificates by request ids
In order to get issued certificates use
Ekey::Certificate.get_certificates(request_ids)
Where request_ids is a collection of all request ids of the pending certificates in your application. It can be a String, Array or just one Fixnum.
Response: a JSON in format [{"id" => <request_id>, "certificate" => <certificate_body>}]
, or if the certificate is'n issued yet - [{"id" => <request_id>, "error" => "certificate is not ready yet"}]
. Response can contain both of this as well.
Note, that certificate is the only base64 string without BEGIN CERTIFICATE/END CERTIFICATE splitted by 64 characters. Here is the shortened sample of the certificate value:
MIIDZjCCAxOgAwIBAgIKXaz9BwAAAADF1jAKBgYqhQMCAgMFADCBkjEeMBwGCSqG\nSIb3DQEJARYPY29udGFjdEBla2V5LnJ1MQswCQYDVQQGEwJSVTEVMBMGA1UEBwwM\n0JzQvtGB0LrQstCwMTcwNQYDVQQKn8HsQFSfy9BDG+A==\n
Contributing
- Fork.
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Copyright (c) 2012 by Dmitry Koprov (dkoprov), evrone.com
This project uses MIT LICENSE