Varanus
This gem provides an interface to Sectigo's (formerly Comodo CA) APIs for working with SSL/TLS certificates as well as its reporting API.
Support for Sectigo's other APIs (S/MIME, code signing, device certificates, etc) may be added at a later date. Merge requests to add some of this functionality would be greatly appreciated.
Usage
Generate and sign SSL cert
key, csr = Varanus::SSL::CSR.generate(['example.com'])
varanus = Varanus.new(customer_uri, username, password)
id = varanus.ssl.sign csr, org_id
begin
cert = varanus.ssl.collect id
rescue Varanus::Error::StillProcessing
sleep 1
retry
end
puts key
puts cert
Sign SSL cert from CSR
csr = File.read('/path/to/file.csr')
varanus = Varanus.new(customer_uri, username, password)
id = varanus.ssl.sign csr, org_id
begin
cert = varanus.ssl.collect id
rescue Varanus::Error::StillProcessing
sleep 1
retry
end
puts cert
Revoke SSL cert
Varanus.new(customer_uri, username, password).ssl.revoke(id)
Reports
Report on all SSL certs
pp Varanus.new(customer_uri, usernams, password).reports.ssl
Report on all domains (DCV status)
pp Varanus.new(customer_uri, usernams, password).reports.domains
Authentication
Authentication requires the same credentials you use to login to cert-manager.com as well as the customer_uri
. If your URL to log into cert-manager.com is https://cert-manager.com/customer/MyCompany then your customer_uri
will be 'MyCompany'
Finding Organization Id (org_id)
Signing a cert requires specifying an org_id
. Each department in cert-manager.com has an associated org_id
.
To find the org_id
, log into cert-manager.com, go to Settings -> Departments, then click to edit the department you are interested in. The value you want is in the OrgID field.
Installation
Add this line to your application's Gemfile:
gem 'varanus'
And then execute:
$ bundle
Or install it yourself as:
$ gem install varanus
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake test
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/duke-automation/varanus.
License
The gem is available as open source under the terms of the MIT License.