Module: Metafusion::Crypto
- Defined in:
- lib/metafusion/crypto/base.rb,
lib/metafusion/crypto.rb
Overview
Module that contains Cryptography helper methods and the Metafusion::Crypto::Key
class to be utilized in public key encryption.
Defined Under Namespace
Modules: Version Classes: DigitalSignature, Meta, PrivateKey
Class Method Summary collapse
-
.generate_key_pair(private_file = "rsa_key", public_file = "#{private_file}.pub", bits = 512, clean = true) ⇒ Object
Generate private and public keys 1.
Class Method Details
.generate_key_pair(private_file = "rsa_key", public_file = "#{private_file}.pub", bits = 512, clean = true) ⇒ Object
Generate private and public keys
-
private_file
- file name of private key to generate (default = “rsa_key”) -
public_file
- file name of public key to generate (default = “#private_key.pub”) -
bits
- number of bits for key (default = 1024) -
clean
- specifies if existing key files should zapped and replaced by newly generated keys (default = true)
Returns the private key generated.
Usage:
priv_key = Metafusion::Crypto.generate_key_pair
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/metafusion/crypto/base.rb', line 24 def self.generate_key_pair(private_file = "rsa_key", public_file = "#{private_file}.pub", bits = 512, clean = true) if clean File.delete(private_file) if File.exists?(private_file) File.delete(public_file) if File.exists?(public_file) end private_key = OpenSSL::PKey::RSA.new(bits) File.open(private_file, "w+") do |fp| fp << private_key.to_s end File.open(public_file, "w+") do |fp| fp << private_key.public_key.to_s end private_key end |