class Spaceship::ConnectAPI::Certificate

Attributes

certificate_content[RW]
certificate_type[RW]
display_name[RW]
expiration_date[RW]
name[RW]
platform[RW]
requester_email[RW]
requester_first_name[RW]
requester_last_name[RW]
serial_number[RW]

Public Class Methods

all(client: nil, filter: {}, includes: nil, limit: nil, sort: nil) click to toggle source

API

# File spaceship/lib/spaceship/connect_api/models/certificate.rb, line 78
def self.all(client: nil, filter: {}, includes: nil, limit: nil, sort: nil)
  client ||= Spaceship::ConnectAPI
  resps = client.get_certificates(filter: filter, includes: includes).all_pages
  return resps.flat_map(&:to_models)
end
create(client: nil, certificate_type: nil, csr_content: nil) click to toggle source
# File spaceship/lib/spaceship/connect_api/models/certificate.rb, line 84
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
create_certificate_signing_request() click to toggle source

Create a new code 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)
# File spaceship/lib/spaceship/connect_api/models/certificate.rb, line 62
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::SHA1.new)
  return [csr, key]
end
get(client: nil, certificate_id: nil, includes: nil) click to toggle source
# File spaceship/lib/spaceship/connect_api/models/certificate.rb, line 94
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
type() click to toggle source
# File spaceship/lib/spaceship/connect_api/models/certificate.rb, line 46
def self.type
  return "certificates"
end

Public Instance Methods

delete!(client: nil) click to toggle source
# File spaceship/lib/spaceship/connect_api/models/certificate.rb, line 100
def delete!(client: nil)
  client ||= Spaceship::ConnectAPI
  client.delete_certificate(certificate_id: id)
end
valid?() click to toggle source
# File spaceship/lib/spaceship/connect_api/models/certificate.rb, line 50
def valid?
  Time.parse(expiration_date) > Time.now
end