naoki 1.0.23 → 1.0.24
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.
- data/.rvmrc +1 -1
- data/lib/naoki/data_secure.rb +7 -4
- data/naoki.gemspec +1 -1
- data/test/test_data_secure.rb +9 -0
- metadata +29 -37
data/.rvmrc
CHANGED
@@ -1 +1 @@
|
|
1
|
-
rvm --create ruby-1.9.2-
|
1
|
+
rvm --create ruby-1.9.2-p290@naoki
|
data/lib/naoki/data_secure.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
1
3
|
# Create a DataSecure connection for encrypting/decrypting documents.
|
2
4
|
# All operations performed on an instance share the same session/connection.
|
3
5
|
# NB: this class is not thread-safe. Create an instance for each thread.
|
@@ -94,7 +96,7 @@ module Naoki
|
|
94
96
|
@session_pointer.get_pointer(0),
|
95
97
|
@cipherspec_pointer.get_pointer(0),
|
96
98
|
I_T_Operation_Encrypt,
|
97
|
-
plain_text.
|
99
|
+
plain_text.bytesize,
|
98
100
|
transform_data_length_pointer)
|
99
101
|
end
|
100
102
|
end
|
@@ -102,16 +104,17 @@ module Naoki
|
|
102
104
|
|
103
105
|
def decrypt(text)
|
104
106
|
return dummy_decrypt(text) unless live?
|
105
|
-
transform(I_T_Operation_Decrypt, text) do |transform_data_length_pointer|
|
107
|
+
decrypted_text = transform(I_T_Operation_Decrypt, text) do |transform_data_length_pointer|
|
106
108
|
check do
|
107
109
|
I_C_CalculateOutputSizeForKey(
|
108
110
|
@session_pointer.get_pointer(0),
|
109
111
|
@cipherspec_pointer.get_pointer(0),
|
110
112
|
I_T_Operation_Decrypt,
|
111
|
-
text.
|
113
|
+
text.bytesize,
|
112
114
|
transform_data_length_pointer)
|
113
115
|
end
|
114
116
|
end
|
117
|
+
decrypted_text.ascii_only? ? decrypted_text : decrypted_text.force_encoding("UTF-8")
|
115
118
|
end
|
116
119
|
|
117
120
|
private
|
@@ -157,7 +160,7 @@ module Naoki
|
|
157
160
|
@options['initialization_vector'],
|
158
161
|
@options['initialization_vector'].length,
|
159
162
|
text,
|
160
|
-
text.
|
163
|
+
text.bytesize,
|
161
164
|
transform_data,
|
162
165
|
transform_data_length_pointer
|
163
166
|
) }
|
data/naoki.gemspec
CHANGED
data/test/test_data_secure.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
1
3
|
require 'helper'
|
2
4
|
require 'stringio'
|
3
5
|
|
@@ -25,6 +27,13 @@ class TestDataSecure < MiniTest::Unit::TestCase
|
|
25
27
|
end
|
26
28
|
end
|
27
29
|
|
30
|
+
def test_unicode
|
31
|
+
expected = "zézéz"
|
32
|
+
encrypted_data = @data_secure.encrypt(expected)
|
33
|
+
decrypted_data = @data_secure.decrypt(encrypted_data)
|
34
|
+
assert(expected == decrypted_data || "decrypted string" == decrypted_data)
|
35
|
+
end
|
36
|
+
|
28
37
|
private
|
29
38
|
|
30
39
|
def encrypt_and_decrypt(size, unencrypted)
|
metadata
CHANGED
@@ -1,39 +1,35 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: naoki
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.24
|
4
5
|
prerelease:
|
5
|
-
version: 1.0.23
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Chris Apolzon
|
9
9
|
- Liron Yahdav
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
- !ruby/object:Gem::Dependency
|
13
|
+
date: 2012-03-01 00:00:00.000000000Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
17
16
|
name: ffi
|
18
|
-
|
19
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
17
|
+
requirement: &70226713560360 !ruby/object:Gem::Requirement
|
20
18
|
none: false
|
21
|
-
requirements:
|
22
|
-
- -
|
23
|
-
- !ruby/object:Gem::Version
|
24
|
-
version:
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '0'
|
25
23
|
type: :runtime
|
26
|
-
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: *70226713560360
|
27
26
|
description: C bindings for SafeNet DataSecure ICAPI
|
28
|
-
email:
|
27
|
+
email:
|
29
28
|
- apolzon@gmail.com
|
30
29
|
executables: []
|
31
|
-
|
32
30
|
extensions: []
|
33
|
-
|
34
31
|
extra_rdoc_files: []
|
35
|
-
|
36
|
-
files:
|
32
|
+
files:
|
37
33
|
- .gitignore
|
38
34
|
- .rvmrc
|
39
35
|
- Gemfile
|
@@ -49,32 +45,28 @@ files:
|
|
49
45
|
- test/helper.rb
|
50
46
|
- test/test_data_secure.rb
|
51
47
|
- validate_config.rb
|
52
|
-
homepage:
|
48
|
+
homepage: ''
|
53
49
|
licenses: []
|
54
|
-
|
55
50
|
post_install_message:
|
56
51
|
rdoc_options: []
|
57
|
-
|
58
|
-
require_paths:
|
52
|
+
require_paths:
|
59
53
|
- lib
|
60
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
54
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
61
55
|
none: false
|
62
|
-
requirements:
|
63
|
-
- -
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
version:
|
66
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - ! '>='
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '0'
|
60
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
67
61
|
none: false
|
68
|
-
requirements:
|
69
|
-
- -
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
version:
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
72
66
|
requirements: []
|
73
|
-
|
74
67
|
rubyforge_project:
|
75
|
-
rubygems_version: 1.
|
68
|
+
rubygems_version: 1.8.15
|
76
69
|
signing_key:
|
77
70
|
specification_version: 3
|
78
71
|
summary: C bindings for SafeNet DataSecure ICAPI
|
79
72
|
test_files: []
|
80
|
-
|