Class: PqcRails::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/pqc_rails/generators/install/install_generator.rb

Overview

rails generate pqc_rails:install で実行される。 config/initializers/pqc_rails.rbを生成し、セッション暗号化用のHybridKemキーペアを 生成してRails credentialsに保存する。

Instance Method Summary collapse

Instance Method Details

#add_session_key_to_credentialsObject



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/pqc_rails/generators/install/install_generator.rb', line 23

def add_session_key_to_credentials
  encoded_key = PqcRails::Session::KeyManager.encode(generated_keypair)

  credentials.change do |tmp_path|
    data = YAML.safe_load(tmp_path.read, permitted_classes: [Symbol], aliases: true) || {}
    data["pqc_session_key"] = encoded_key
    tmp_path.write(data.to_yaml)
  end

  say_status :credentials, "Added pqc_session_key to Rails credentials"
end

#create_initializerObject



19
20
21
# File 'lib/pqc_rails/generators/install/install_generator.rb', line 19

def create_initializer
  copy_file "initializer.rb", "config/initializers/pqc_rails.rb"
end