ossl_rsa 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/ossl_rsa.rb +5 -0
- data/lib/ossl_rsa/rsa.rb +39 -5
- data/lib/ossl_rsa/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b6e0632bcb3ee0e43417ca7cbb4a52f1c77f6d12
|
4
|
+
data.tar.gz: c0c2ac7a5948f5047ea6f582b23c65078e593bd6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1465e5b04337d2fc2efe807e23c70aaae9e0a7e2085fc2b7abd1aa122544dac339626f657a4bf19936d11ed473580be7e8ea91ab04fe466136b3bf2a44355a22
|
7
|
+
data.tar.gz: a902092984c71c5bc914e64858d9fc3fbf0cbe47e1bc86f2cf9b5cf236ecd450252d78f1fbc187446dee5e4cba83f15c96c35a3795f1cabe5434592e0f11873f
|
data/lib/ossl_rsa.rb
CHANGED
data/lib/ossl_rsa/rsa.rb
CHANGED
@@ -34,7 +34,7 @@ module OsslRsa
|
|
34
34
|
encrypt_value = @rsa.public_encrypt(value, mode)
|
35
35
|
# base64 encode.
|
36
36
|
if base64_encode
|
37
|
-
encrypt_value =
|
37
|
+
encrypt_value = encode_base64(encrypt_value)
|
38
38
|
end
|
39
39
|
encrypt_value
|
40
40
|
end
|
@@ -51,7 +51,7 @@ module OsslRsa
|
|
51
51
|
|
52
52
|
# base64 decode
|
53
53
|
if base64_decode
|
54
|
-
value =
|
54
|
+
value = decode_base64(value)
|
55
55
|
end
|
56
56
|
|
57
57
|
decrypt_value = @rsa.private_decrypt(value, mode)
|
@@ -71,7 +71,7 @@ module OsslRsa
|
|
71
71
|
sign_value = @rsa.sign(digest, value)
|
72
72
|
# base64 encode.
|
73
73
|
if base64_encode
|
74
|
-
sign_value =
|
74
|
+
sign_value = encode_base64(sign_value)
|
75
75
|
end
|
76
76
|
sign_value
|
77
77
|
end
|
@@ -89,7 +89,7 @@ module OsslRsa
|
|
89
89
|
|
90
90
|
# base64 decode.
|
91
91
|
if base64_decode
|
92
|
-
sign =
|
92
|
+
sign = decode_base64(sign)
|
93
93
|
end
|
94
94
|
@rsa.verify(digest, sign, value)
|
95
95
|
end
|
@@ -175,6 +175,12 @@ module OsslRsa
|
|
175
175
|
{ private: private_key, public: public_key }
|
176
176
|
end
|
177
177
|
|
178
|
+
# set base64 rfc.
|
179
|
+
# @param [integer] rfc rfc
|
180
|
+
def set_rfc(rfc)
|
181
|
+
@rfc = rfc
|
182
|
+
end
|
183
|
+
|
178
184
|
# get rsa instance.
|
179
185
|
# @return [OpenSSL::PKey::RSA] rsa instance.
|
180
186
|
def rsa
|
@@ -220,7 +226,7 @@ module OsslRsa
|
|
220
226
|
def convert_key(mode, key, cipher, pass)
|
221
227
|
|
222
228
|
cv_key = nil
|
223
|
-
# convert
|
229
|
+
# convert key.
|
224
230
|
if mode == PEM
|
225
231
|
cv_key = key.to_pem(cipher, pass)
|
226
232
|
elsif mode == DER
|
@@ -229,5 +235,33 @@ module OsslRsa
|
|
229
235
|
|
230
236
|
cv_key
|
231
237
|
end
|
238
|
+
|
239
|
+
# encode base64.
|
240
|
+
# @param [String] value target value.
|
241
|
+
# @return [String] base64 encode value.
|
242
|
+
def encode_base64(value)
|
243
|
+
|
244
|
+
if @rfc == RFC2045
|
245
|
+
Base64.encode64(value)
|
246
|
+
elsif @rfc == RFC4648
|
247
|
+
Base64.strict_encode64(value)
|
248
|
+
else
|
249
|
+
Base64.encode64(value)
|
250
|
+
end
|
251
|
+
end
|
252
|
+
|
253
|
+
# decode base64.
|
254
|
+
# @param [String] value target value.
|
255
|
+
# @return [String] base64 decode value.
|
256
|
+
def decode_base64(value)
|
257
|
+
|
258
|
+
if @rfc == RFC2045
|
259
|
+
Base64.decode64(value)
|
260
|
+
elsif @rfc == RFC4648
|
261
|
+
Base64.strict_decode64(value)
|
262
|
+
else
|
263
|
+
Base64.decode64(value)
|
264
|
+
end
|
265
|
+
end
|
232
266
|
end
|
233
267
|
end
|
data/lib/ossl_rsa/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ossl_rsa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- h.shigemoto
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08-
|
11
|
+
date: 2016-08-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|