Class: InstanceAgent::CodeDeployPlugin::CodeDeployControlCertVerifier

Inherits:
Object
  • Object
show all
Defined in:
lib/instance_agent/codedeploy_plugin/codedeploy_control.rb

Instance Method Summary collapse

Constructor Details

#initialize(endpoint) ⇒ CodeDeployControlCertVerifier

Returns a new instance of CodeDeployControlCertVerifier.



49
50
51
52
53
54
# File 'lib/instance_agent/codedeploy_plugin/codedeploy_control.rb', line 49

def initialize(endpoint)
  client = HTTPClient.new
  response = client.get(endpoint)
  @cert = response.peer_cert
  @region = ENV['AWS_REGION'] || InstanceMetadata.region
end

Instance Method Details

#verify_subjectObject



56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/instance_agent/codedeploy_plugin/codedeploy_control.rb', line 56

def verify_subject
  InstanceAgent::Log.debug("#{self.class.to_s}: Actual certificate subject is '#{@cert.subject.to_s}'")

  case @region
    when 'us-east-1'
      @cert.subject.to_s == "/C=US/ST=Washington/L=Seattle/O=Amazon.com, Inc./CN=codedeploy-commands.us-east-1.amazonaws.com"
    when 'us-west-2'
      @cert.subject.to_s == "/C=US/ST=Washington/L=Seattle/O=Amazon.com, Inc./CN=codedeploy-commands.us-west-2.amazonaws.com"
    else
      InstanceAgent::Log.debug("#{self.class.to_s}: Unsupported region '#{@region}'")
      false
  end
end