class HrrRbSsh::Authentication::Method::Publickey::Context

Attributes

authentication_methods[R]
message_number[R]
method_name[R]
public_key_algorithm_name[R]
public_key_blob[R]
service_name[R]
session_id[R]
signature[R]
username[R]
variables[R]
vars[R]
with_signature[R]

Public Class Methods

new(username, algorithm, session_id, message, variables, authentication_methods, logger: nil) click to toggle source
# File lib/hrr_rb_ssh/authentication/method/publickey/context.rb, line 27
def initialize username, algorithm, session_id, message, variables, authentication_methods, logger: nil
  self.logger = logger
  @username   = username
  @algorithm  = algorithm
  @session_id = session_id
  @message    = message
  @variables  = variables
  @vars       = variables
  @authentication_methods = authentication_methods

  @message_number            = message[:'message number']
  @service_name              = message[:'service name']
  @method_name               = message[:'method name']
  @with_signature            = message[:'with signature']
  @public_key_algorithm_name = message[:'public key algorithm name']
  @public_key_blob           = message[:'public key blob']
  @signature                 = message[:'signature']
end

Public Instance Methods

verify(username, public_key_algorithm_name, public_key) click to toggle source
# File lib/hrr_rb_ssh/authentication/method/publickey/context.rb, line 46
def verify username, public_key_algorithm_name, public_key
    verify_username(username) \
    && verify_public_key_algorithm_name(public_key_algorithm_name) \
    && verify_public_key(public_key_algorithm_name, public_key) \
    && verify_signature
end
verify_public_key(public_key_algorithm_name, public_key) click to toggle source
# File lib/hrr_rb_ssh/authentication/method/publickey/context.rb, line 61
def verify_public_key public_key_algorithm_name, public_key
  @algorithm.verify_public_key(public_key_algorithm_name, public_key, @public_key_blob)
end
verify_public_key_algorithm_name(public_key_algorithm_name) click to toggle source
# File lib/hrr_rb_ssh/authentication/method/publickey/context.rb, line 57
def verify_public_key_algorithm_name public_key_algorithm_name
  public_key_algorithm_name == @public_key_algorithm_name
end
verify_signature() click to toggle source
# File lib/hrr_rb_ssh/authentication/method/publickey/context.rb, line 65
def verify_signature
  @algorithm.verify_signature(@session_id, @message)
end
verify_username(username) click to toggle source
# File lib/hrr_rb_ssh/authentication/method/publickey/context.rb, line 53
def verify_username username
  username == @username
end