Module: Kingdom
- Defined in:
- lib/kingdom.rb,
lib/kingdom/box.rb,
lib/kingdom/key.rb,
lib/kingdom/version.rb
Defined Under Namespace
Classes: Box, Error, Key, King
Constant Summary
collapse
- VERSION =
"0.1.2"
- @@CIPHER =
'AES-256-CBC'
- @@SIZE =
2048
Class Method Summary
collapse
Class Method Details
.[](k) ⇒ Object
87
88
89
|
# File 'lib/kingdom.rb', line 87
def self.[] k
King.new(k)
end
|
.box(k) ⇒ Object
51
52
53
|
# File 'lib/kingdom/box.rb', line 51
def self.box k
Box.new(k)
end
|
.cipher(*c) ⇒ Object
6
7
8
9
10
11
12
|
# File 'lib/kingdom/box.rb', line 6
def self.cipher *c
if c[0]
@@CIPHER = c[0]
else
OpenSSL::Cipher.new(@@CIPHER)
end
end
|
.context ⇒ Object
14
15
16
|
# File 'lib/kingdom/key.rb', line 14
def self.context
OpenSSL::SSL::SSLContext.new
end
|
.decode(s) ⇒ Object
18
19
20
|
# File 'lib/kingdom/box.rb', line 18
def self.decode s
Base64.strict_decode64(s)
end
|
.digest ⇒ Object
10
11
12
|
# File 'lib/kingdom/key.rb', line 10
def self.digest
OpenSSL::Digest::SHA256.new
end
|
.encode(s) ⇒ Object
14
15
16
|
# File 'lib/kingdom/box.rb', line 14
def self.encode s
Base64.strict_encode64(s)
end
|
.key(*a, &b) ⇒ Object
Kingdom.key() #=> create new key Kingdom.key(key) #=> load unexported key Kingdom.key(key, “password”) #=> load exported key
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/kingdom/key.rb', line 21
def self.key *a, &b
if a[1]
b.call(Key.new(OpenSSL::PKey::RSA.new(a[0], a[1])))
else
if a[0]
b.call(Key.new(OpenSSL::PKey::RSA.new(a[0])))
else
b.call(Key.new(OpenSSL::PKey::RSA.new(Kingdom.size)))
end
end
end
|
.size(*s) ⇒ Object
3
4
5
6
7
8
9
|
# File 'lib/kingdom/key.rb', line 3
def self.size *s
if s[0]
@@SIZE = s[0]
else
@@SIZE
end
end
|