Class: RightScale::StaticCertificateStore

Inherits:
Object
  • Object
show all
Defined in:
lib/right_agent/security/static_certificate_store.rb

Overview

Simple certificate store that serves a static set of certificates and one key

Instance Method Summary collapse

Constructor Details

#initialize(receiver_cert, receiver_key, signer_certs, target_certs) ⇒ StaticCertificateStore

Initialize store

Parameters

receiver_cert(Certificate)

Certificate for decrypting serialized data being received

receiver_key(RsaKeyPair)

Key corresponding to specified cert

signer_certs(Array|Certificate)

Signer certificate(s) used when loading data to

check the digital signature. The signature associated with the serialized data
needs to match with one of the signer certificates for loading to succeed.
target_certs(Array|Certificate)

Target certificate(s) used when serializing

data for encryption. Loading the data can only be done through serializers that
have been initialized with a certificate that's in the target certificates
if encryption is enabled.


40
41
42
43
44
45
46
47
# File 'lib/right_agent/security/static_certificate_store.rb', line 40

def initialize(receiver_cert, receiver_key, signer_certs, target_certs)
  @receiver_cert = receiver_cert
  @receiver_key = receiver_key
  signer_certs = [ signer_certs ] unless signer_certs.respond_to?(:each)
  @signer_certs = signer_certs 
  target_certs = [ target_certs ] unless target_certs.respond_to?(:each)
  @target_certs = target_certs
end

Instance Method Details

#get_receiver(id) ⇒ Object

Retrieve receiver’s certificate and key for decryption

Parameters

id(String|nil)

Optional identifier of source of data for use

in determining who is the receiver, ignored

Return

(Array)

Certificate and key



79
80
81
# File 'lib/right_agent/security/static_certificate_store.rb', line 79

def get_receiver(id)
  [@receiver_cert, @receiver_key]
end

#get_signer(id) ⇒ Object

Retrieve signer certificates for use in verifying a signature

Parameters

id(String)

Serialized identity of signer, ignored

Return

(Array|Certificate)

Signer certificates



56
57
58
# File 'lib/right_agent/security/static_certificate_store.rb', line 56

def get_signer(id)
  @signer_certs
end

#get_target(packet) ⇒ Object

Retrieve certificates of target for encryption

Parameters

packet(RightScale::Packet)

Packet containing target identity, ignored

Return

(Array|Certificate)

Target certificates



67
68
69
# File 'lib/right_agent/security/static_certificate_store.rb', line 67

def get_target(packet)
  @target_certs
end