Module: Poke::API::Signature

Extended by:
Fiddle::Importer, Logging
Defined in:
lib/poke-api/signature.rb

Class Method Summary collapse

Methods included from Logging

formatter=, log_level=, logger

Class Method Details

.generate_signature(signature) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/poke-api/signature.rb', line 16

def self.generate_signature(signature)
  output_size = Fiddle::Pointer.malloc(1)

  iv = SecureRandom.random_bytes(32)
  encrypt(signature, signature.length, iv, 32, nil, output_size)

  output = Fiddle::Pointer.malloc(288)
  encrypt(signature, signature.length, iv, 32, output, output_size)

  output.to_str
end

.load_signature(client) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/poke-api/signature.rb', line 7

def self.load_signature(client)
  dlload client.sig_path
  extern "int encrypt(const unsigned char *input, size_t input_size," \
         " const unsigned char* iv, size_t iv_size, unsigned char* " \
         "output, size_t * output_size)"
  logger.info '[+] Loaded Signature module'
  client.sig_loaded = true
end