class Spaceship::ConnectAPI::Certificate
Attributes
Public Class Methods
Source
# File spaceship/lib/spaceship/connect_api/models/certificate.rb, line 83 def self.all(client: nil, filter: {}, includes: nil, fields: nil, limit: Spaceship::ConnectAPI::MAX_OBJECTS_PER_PAGE_LIMIT, sort: nil) client ||= Spaceship::ConnectAPI resps = client.get_certificates(filter: filter, includes: includes, fields: fields, limit: limit, sort: sort).all_pages return resps.flat_map(&:to_models) end
API
Source
# File spaceship/lib/spaceship/connect_api/models/certificate.rb, line 89 def self.create(client: nil, certificate_type: nil, csr_content: nil) client ||= Spaceship::ConnectAPI attributes = { certificateType: certificate_type, csrContent: csr_content } resp = client.post_certificate(attributes: attributes) return resp.to_models.first end
Source
# File spaceship/lib/spaceship/connect_api/models/certificate.rb, line 67 def self.create_certificate_signing_request key = OpenSSL::PKey::RSA.new(2048) csr = OpenSSL::X509::Request.new csr.version = 0 csr.subject = OpenSSL::X509::Name.new([ ['CN', 'PEM', OpenSSL::ASN1::UTF8STRING] ]) csr.public_key = key.public_key csr.sign(key, OpenSSL::Digest::SHA256.new) return [csr, key] end
Create a new cert signing request that can be used to generate a new certificate @example
Create a new certificate signing request csr, pkey = Spaceship.certificate.create_certificate_signing_request # Use the signing request to create a new distribution certificate Spaceship.certificate.production.create!(csr: csr)
Source
# File spaceship/lib/spaceship/connect_api/models/certificate.rb, line 99 def self.get(client: nil, certificate_id: nil, includes: nil) client ||= Spaceship::ConnectAPI resp = client.get_certificate(certificate_id: certificate_id, includes: includes) return resp.to_models.first end
Source
# File spaceship/lib/spaceship/connect_api/models/certificate.rb, line 50 def self.type return "certificates" end
Public Instance Methods
Source
# File spaceship/lib/spaceship/connect_api/models/certificate.rb, line 105 def delete!(client: nil) client ||= Spaceship::ConnectAPI client.delete_certificate(certificate_id: id) end
Source
# File spaceship/lib/spaceship/connect_api/models/certificate.rb, line 54 def valid? return false if expiration_date.nil? || expiration_date.empty? Time.parse(expiration_date) > Time.now end