- Notifications
You must be signed in to change notification settings - Fork4
creadone/zerossl
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Ruby client to obtain SSL certificate fromZeroSSL viaREST API
Add this line to your application's Gemfile:
gem'zerossl'
And then execute:
$bundleinstall
Or install it yourself as:
$geminstallzerossl
require'zerossl'# Setup gemZeroSSL::Setup.config.access_key='123456789'client=ZeroSSL::Client.new# Define domain and server html pathdomain_name='umbrella.llc'html_directory='/var/www/html'# Set Certificate Signing Request optionscsr_opts={common_name:domain_name,organization:'Umbrella',country:'RU',state_name:'Moscow',locality:'Moscow'}# Build CSRcsr,key=ZeroSSL::CSR.new(csr_opts).call# Build certificate requestrequest={certificate_domains:[domain_name],certificate_validity_days:ZeroSSL::VALIDITY_DAYS::DAY90,certificate_csr:csr}# Receive request, extract certificate id and validation detailsresponse=client.create(request).bodycertificate_id=response['id']other_methods=response['validation']['other_methods']# Write validation content into file to the server directoryother_methods.eachdo |domain_name,validation_types|validation_uri=URI(validation_types['file_validation_url_http'])validation_content=validation_types['file_validation_content']File.open(File.join(html_directory,validation_uri.path),'w')do |io|io <<validation_content.join("\n")endend# Tell ZeroSSL domain are ready for validationclient.verify(certificate_id,ZeroSSL::VALIDATION_TYPE::HTTP)#=> { [...] validation => { other_methods => { <domain> => file_validation_url_http }}}# Check validation statusclient.status(certificate_id)#=> true# Download Certificate (inline)client.download(certificate_id)#=> {# "certificate.crt": "---BEGIN CERTIFICATE---{primary_certificate}---END CERTIFICATE---",# "ca_bundle.crt": "---BEGIN CERTIFICATE---{certificate_bundle}---END CERTIFICATE---"# }
After checking out the repo, runbin/setup
to install dependencies. Then, runrake test
to run the tests. You can also runbin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, runbundle exec rake install
. To release a new version, update the version number inversion.rb
, and then runbundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the.gem
file torubygems.org.
Bug reports and pull requests are welcome on GitHub athttps://github.com/creadone/zerossl.
The gem is available as open source under the terms of theMIT License.
About
Ruby client for ZeroSSL
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.