Class: Ccrypto::SecretKey
- Inherits:
-
Object
- Object
- Ccrypto::SecretKey
show all
- Includes:
- Java::DataConversion, TeLogger::TeLogHelper
- Defined in:
- lib/ccrypto/java/ext/secret_key.rb
Instance Method Summary
collapse
#from_b64, #from_hex, included, #to_b64, #to_b64_mime, #to_hex, #to_java_bytes, #to_str
Instance Method Details
#equals?(key) ⇒ Boolean
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# File 'lib/ccrypto/java/ext/secret_key.rb', line 50
def equals?(key)
case key
when Ccrypto::SecretKey
teLogger.debug "Given key is Ccrypto::SecretKey"
to_jce_secret_key.encoded == key.to_jce_secret_key.encoded
when javax.crypto.spec.SecretKeySpec
teLogger.debug "Given key is java SecretKeySpec"
to_jce_secret_key.encoded == key.encoded
when ::Java::byte[]
to_jce_secret_key.encoded == key
when String
to_jce_secret_key.encoded == to_java_bytes(key)
else
teLogger.debug "Not sure how to compare : #{self} / #{key}"
to_jce_secret_key == key
end
end
|
#length ⇒ Object
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/ccrypto/java/ext/secret_key.rb', line 39
def length
case @key
when javax.crypto.spec.SecretKeySpec
@key.encoded.length
when ::Java::byte[]
@key.length
else
@key.key.encoded.length
end
end
|
#to_bin ⇒ Object
30
31
32
33
34
35
36
37
|
# File 'lib/ccrypto/java/ext/secret_key.rb', line 30
def to_bin
case @key
when javax.crypto.spec.SecretKeySpec
@key.encoded
else
raise Ccrypto::Error, "Unsupported key type #{@key.class}"
end
end
|
#to_jce_secret_key ⇒ Object
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/ccrypto/java/ext/secret_key.rb', line 11
def to_jce_secret_key
case @key
when javax.crypto.spec.SecretKeySpec
@key
when ::Java::byte[]
javax.crypto.spec.SecretKeySpec.new(@key, @algo.to_s)
else
case @key.key
when javax.crypto.spec.SecretKeySpec
@key.key
when ::Java::byte[]
javax.crypto.spec.SecretKeySpec.new(@key.key, @algo.to_s)
else
raise Ccrypto::Error, "Unknown key to conver to jce #{@key.key}"
end
end
end
|