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.

Build Status Gem Version Maintainability Test Coverage

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.