pkcs11_protect_server 0.2.2 → 0.3.0
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 +7 -0
- checksums.yaml.gz.sig +1 -0
- data.tar.gz.sig +1 -0
- data/README_PROTECT_SERVER.rdoc +3 -3
- data/Rakefile +7 -10
- data/ext/pk11_struct_macros.h +13 -13
- data/ext/pk11_version.h +1 -1
- data/ext/pk11s.c +1 -0
- data/ext/pk11s_struct.doc +14 -14
- data/ext/pk11s_struct_impl.inc +14 -14
- data/lib/pkcs11_protect_server/extensions.rb +11 -3
- data/test/helper.rb +1 -1
- data/test/test_pkcs11_protect_server.rb +15 -6
- data/test/test_pkcs11_protect_server_crypt.rb +19 -19
- metadata +126 -122
- metadata.gz.sig +3 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 7a5fe3b3e7e2b4371955d63d571b32a889cb5cc4ded9c5f4407c7e248a77e373
|
4
|
+
data.tar.gz: 152bcff476fe55a9a288eff56341d1013492d2aad40b48283d6629ca06bb2bb2
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 260fdae7245c78b951906b3e586e64cbf038540f15833c376c49f1fa3f895fa51169aa30b63c1e7e2fafa8feb5701a68056362553cb0cec1ddddbf791130b168
|
7
|
+
data.tar.gz: da7604086b3b6145add4f76290c016bc959a8a18ed4f9dbdbbd82a60d589998271f1654d68f5fba780b3958a4d05cfa5fc37c912f6b4adba19ddae4f2aecb887
|
checksums.yaml.gz.sig
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
�����5���"����(V}2T�j��%�5�^W���|ַ=�z�p�if@Dk#7�.��;�*��n�����~��?5o�5Ǹ�vB:��F3�i��X�(Zn��m�&J5V�b�/u�6v�S
|
data.tar.gz.sig
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
Х�S��i���:@7��J1ی�gL�N:���U��Ö��*���&Ɔ�XI5DSI�3Z�V<�֣�ZB]*��l�����U���IVi��/�A1��Yhk$���aj]����!�{���A%���8#��.0�D��v�EK��3�ĭ�Vx��Y�z}�c*�f�rð��J1�SPڗ�/>�F0j<or֭�8�J�m����x�~ c
|
data/README_PROTECT_SERVER.rdoc
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
= PKCS #11/Ruby Interface for Safenet Protect Server HSM
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
home :: http://github.com/larskanis/pkcs11
|
4
|
+
API documentation: http://pkcs11.rubyforge.org/pkcs11/
|
5
|
+
Safenet Protect Server HSM : http://www.safenet-inc.com
|
6
6
|
|
7
7
|
This ruby gem is an add-on to ruby-pkcs11[http://github.com/larskanis/pkcs11] .
|
8
8
|
It allowes to use Protect Server specific extensions, which are beyond the PKCS#11 standard.
|
data/Rakefile
CHANGED
@@ -32,10 +32,9 @@ end
|
|
32
32
|
hoe = Hoe.spec 'pkcs11_protect_server' do
|
33
33
|
developer('Lars Kanis', 'kanis@comcard.de')
|
34
34
|
extra_deps << ['pkcs11', "= #{pkcs11_version}"]
|
35
|
-
extra_dev_deps << ['yard', '
|
36
|
-
extra_dev_deps << ['rake-compiler', '
|
35
|
+
extra_dev_deps << ['yard', '~> 0.6']
|
36
|
+
extra_dev_deps << ['rake-compiler', '~> 0.7']
|
37
37
|
|
38
|
-
self.url = 'http://github.com/larskanis/pkcs11'
|
39
38
|
self.summary = 'Safenet-ProtectServer extensions for PKCS#11-Ruby'
|
40
39
|
self.description = 'This module allows Ruby programs to use vendor extensions for Safenet Protect Server.'
|
41
40
|
self.version = pkcs11_version
|
@@ -46,11 +45,9 @@ hoe = Hoe.spec 'pkcs11_protect_server' do
|
|
46
45
|
spec_extras[:extensions] = 'ext/extconf.rb'
|
47
46
|
spec_extras[:files] = File.read_utf("Manifest.txt").split(/\r?\n\r?/)
|
48
47
|
spec_extras[:files] += GENERATED_FILES
|
49
|
-
spec_extras[:
|
48
|
+
spec_extras[:required_ruby_version] = '>= 2.2.0'
|
50
49
|
end
|
51
50
|
|
52
|
-
ENV['RUBY_CC_VERSION'] ||= '1.8.7:1.9.2'
|
53
|
-
|
54
51
|
Rake::ExtensionTask.new('pkcs11_protect_server_ext', hoe.spec) do |ext|
|
55
52
|
ext.ext_dir = 'ext'
|
56
53
|
ext.cross_compile = true # enable cross compilation (requires cross compile toolchain)
|
@@ -61,7 +58,7 @@ end
|
|
61
58
|
|
62
59
|
def copy_from_base_task(filename)
|
63
60
|
file File.join('ext', filename) => File.join(RUBY_PKCS11_EXT_DIR, filename) do |t|
|
64
|
-
cp t.prerequisites.first, t.name, :
|
61
|
+
cp t.prerequisites.first, t.name, verbose: true
|
65
62
|
end
|
66
63
|
end
|
67
64
|
|
@@ -71,16 +68,16 @@ copy_from_base_task 'pk11_version.h'
|
|
71
68
|
|
72
69
|
file 'ext/extconf.rb' => ['ext/pk11s_struct_def.inc', 'ext/pk11s_const_def.inc', 'ext/pk11_struct_macros.h', 'ext/pk11_const_macros.h', 'ext/pk11_version.h']
|
73
70
|
file 'ext/pk11s_struct_def.inc' => 'ext/generate_structs.rb' do
|
74
|
-
sh "#{RbConfig::CONFIG['ruby_install_name']} ext/generate_structs.rb --def ext/pk11s_struct_def.inc --impl ext/pk11s_struct_impl.inc --doc ext/pk11s_struct.doc #{File.join(PROTECT_SERVER_SDK_DIR, 'include/ctvdef.h').inspect}"
|
71
|
+
sh "#{RbConfig::CONFIG['ruby_install_name']} -I../lib ext/generate_structs.rb --def ext/pk11s_struct_def.inc --impl ext/pk11s_struct_impl.inc --doc ext/pk11s_struct.doc #{File.join(PROTECT_SERVER_SDK_DIR, 'include/ctvdef.h').inspect}"
|
75
72
|
end
|
76
73
|
file 'ext/pk11s_struct_impl.inc' => 'ext/pk11s_struct_def.inc'
|
77
74
|
file 'ext/pk11s_struct.doc' => 'ext/pk11s_struct_def.inc'
|
78
75
|
|
79
76
|
file 'ext/pk11s_const_def.inc' => 'ext/generate_constants.rb' do
|
80
|
-
sh "#{RbConfig::CONFIG['ruby_install_name']} ext/generate_constants.rb --const ext/pk11s_const_def.inc #{File.join(PROTECT_SERVER_SDK_DIR, 'include/ctvdef.h').inspect}"
|
77
|
+
sh "#{RbConfig::CONFIG['ruby_install_name']} -I../lib ext/generate_constants.rb --const ext/pk11s_const_def.inc #{File.join(PROTECT_SERVER_SDK_DIR, 'include/ctvdef.h').inspect}"
|
81
78
|
end
|
82
79
|
file 'ext/pk11s.c' => ['ext/pk11s_struct_def.inc', 'ext/pk11s_struct_impl.inc', 'ext/pk11s_const_def.inc']
|
83
80
|
|
84
|
-
task :
|
81
|
+
task doc_files: 'ext/pk11s_struct.doc'
|
85
82
|
|
86
83
|
# vim: syntax=ruby
|
data/ext/pk11_struct_macros.h
CHANGED
@@ -19,10 +19,10 @@ pkcs11_num2ulong(VALUE val)
|
|
19
19
|
}
|
20
20
|
|
21
21
|
static VALUE
|
22
|
-
get_string(VALUE obj, off_t offset, size_t size)
|
22
|
+
get_string(VALUE obj, off_t offset, size_t size, rb_encoding *enc)
|
23
23
|
{
|
24
24
|
char *ptr = (char*)DATA_PTR(obj);
|
25
|
-
return
|
25
|
+
return rb_enc_str_new(ptr+offset, size, enc);
|
26
26
|
}
|
27
27
|
|
28
28
|
static VALUE
|
@@ -86,7 +86,7 @@ set_ulong_ptr(VALUE obj, VALUE value, const char *name, off_t offset)
|
|
86
86
|
*ptr = NULL_PTR;
|
87
87
|
return value;
|
88
88
|
}
|
89
|
-
new_obj = Data_Make_Struct(
|
89
|
+
new_obj = Data_Make_Struct(rb_cData, CK_ULONG, 0, -1, *ptr);
|
90
90
|
rb_iv_set(obj, name, new_obj);
|
91
91
|
**ptr = NUM2ULONG(value);
|
92
92
|
return value;
|
@@ -126,12 +126,12 @@ set_bool(VALUE obj, VALUE value, off_t offset)
|
|
126
126
|
}
|
127
127
|
|
128
128
|
static VALUE
|
129
|
-
get_string_ptr(VALUE obj, const char *name, off_t offset)
|
129
|
+
get_string_ptr(VALUE obj, const char *name, off_t offset, rb_encoding *enc)
|
130
130
|
{
|
131
131
|
char *ptr = (char*)DATA_PTR(obj);
|
132
132
|
char *p = *(char**)(ptr+offset);
|
133
133
|
if (!p) return Qnil;
|
134
|
-
return
|
134
|
+
return rb_enc_str_new_cstr(p, enc);
|
135
135
|
}
|
136
136
|
|
137
137
|
static VALUE
|
@@ -151,14 +151,14 @@ set_string_ptr(VALUE obj, VALUE value, const char *name, off_t offset)
|
|
151
151
|
}
|
152
152
|
|
153
153
|
static VALUE
|
154
|
-
get_string_ptr_len(VALUE obj, const char *name, off_t offset, off_t offset_len)
|
154
|
+
get_string_ptr_len(VALUE obj, const char *name, off_t offset, off_t offset_len, rb_encoding *enc)
|
155
155
|
{
|
156
156
|
unsigned long l;
|
157
157
|
char *ptr = (char*)DATA_PTR(obj);
|
158
158
|
char *p = *(char**)(ptr+offset);
|
159
159
|
if (!p) return Qnil;
|
160
160
|
l = *(unsigned long*)(ptr+offset_len);
|
161
|
-
return
|
161
|
+
return rb_enc_str_new(p, l, enc);
|
162
162
|
}
|
163
163
|
|
164
164
|
static VALUE
|
@@ -290,9 +290,9 @@ static VALUE c##s;\
|
|
290
290
|
static VALUE a##s##_members;\
|
291
291
|
PKCS11_IMPLEMENT_ALLOCATOR(s);
|
292
292
|
|
293
|
-
#define PKCS11_IMPLEMENT_STRING_ACCESSOR(s, f) \
|
293
|
+
#define PKCS11_IMPLEMENT_STRING_ACCESSOR(s, f, enco) \
|
294
294
|
static VALUE c##s##_get_##f(VALUE o){ \
|
295
|
-
return get_string(o, OFFSET_OF(s, f), SIZE_OF(s, f)); \
|
295
|
+
return get_string(o, OFFSET_OF(s, f), SIZE_OF(s, f), rb_##enco##_encoding()); \
|
296
296
|
} \
|
297
297
|
static VALUE c##s##_set_##f(VALUE o, VALUE v){ \
|
298
298
|
return set_string(o, v, OFFSET_OF(s, f), SIZE_OF(s, f)); \
|
@@ -338,17 +338,17 @@ static VALUE c##s##_set_##f(VALUE o, VALUE v){ \
|
|
338
338
|
return set_bool(o, v, OFFSET_OF(s, f)); \
|
339
339
|
}
|
340
340
|
|
341
|
-
#define PKCS11_IMPLEMENT_STRING_PTR_ACCESSOR(s, f) \
|
341
|
+
#define PKCS11_IMPLEMENT_STRING_PTR_ACCESSOR(s, f, enco) \
|
342
342
|
static VALUE c##s##_get_##f(VALUE o){ \
|
343
|
-
return get_string_ptr(o, #f, OFFSET_OF(s, f)); \
|
343
|
+
return get_string_ptr(o, #f, OFFSET_OF(s, f), rb_##enco##_encoding()); \
|
344
344
|
} \
|
345
345
|
static VALUE c##s##_set_##f(VALUE o, VALUE v){ \
|
346
346
|
return set_string_ptr(o, v, #f, OFFSET_OF(s, f)); \
|
347
347
|
}
|
348
348
|
|
349
|
-
#define PKCS11_IMPLEMENT_STRING_PTR_LEN_ACCESSOR(s, f, l) \
|
349
|
+
#define PKCS11_IMPLEMENT_STRING_PTR_LEN_ACCESSOR(s, f, l, enco) \
|
350
350
|
static VALUE c##s##_get_##f(VALUE o){ \
|
351
|
-
return get_string_ptr_len(o, #f, OFFSET_OF(s, f), OFFSET_OF(s, l)); \
|
351
|
+
return get_string_ptr_len(o, #f, OFFSET_OF(s, f), OFFSET_OF(s, l), rb_##enco##_encoding()); \
|
352
352
|
} \
|
353
353
|
static VALUE c##s##_set_##f(VALUE o, VALUE v){ \
|
354
354
|
return set_string_ptr_len(o, v, #f, OFFSET_OF(s, f), OFFSET_OF(s, l)); \
|
data/ext/pk11_version.h
CHANGED
data/ext/pk11s.c
CHANGED
data/ext/pk11s_struct.doc
CHANGED
@@ -5,9 +5,9 @@ SIZEOF_STRUCT=Integer
|
|
5
5
|
def to_s; end
|
6
6
|
# @return [Array<String>] Attributes of this struct
|
7
7
|
def members; end
|
8
|
-
# @return [String] accessor for iv (max 8 bytes)
|
8
|
+
# @return [ASCII8BIT-String] accessor for iv (max 8 bytes)
|
9
9
|
attr_accessor :iv
|
10
|
-
# @return [String] accessor for data (max 8 bytes)
|
10
|
+
# @return [ASCII8BIT-String] accessor for data (max 8 bytes)
|
11
11
|
attr_accessor :data
|
12
12
|
end
|
13
13
|
class PKCS11::ProtectServer::CK_DES2_CBC_PARAMS < PKCS11::ProtectServer::CStruct
|
@@ -17,9 +17,9 @@ SIZEOF_STRUCT=Integer
|
|
17
17
|
def to_s; end
|
18
18
|
# @return [Array<String>] Attributes of this struct
|
19
19
|
def members; end
|
20
|
-
# @return [String] accessor for iv (max 8 bytes)
|
20
|
+
# @return [ASCII8BIT-String] accessor for iv (max 8 bytes)
|
21
21
|
attr_accessor :iv
|
22
|
-
# @return [String] accessor for data (max 16 bytes)
|
22
|
+
# @return [ASCII8BIT-String] accessor for data (max 16 bytes)
|
23
23
|
attr_accessor :data
|
24
24
|
end
|
25
25
|
class PKCS11::ProtectServer::CK_DES3_CBC_PARAMS < PKCS11::ProtectServer::CStruct
|
@@ -29,9 +29,9 @@ SIZEOF_STRUCT=Integer
|
|
29
29
|
def to_s; end
|
30
30
|
# @return [Array<String>] Attributes of this struct
|
31
31
|
def members; end
|
32
|
-
# @return [String] accessor for iv (max 8 bytes)
|
32
|
+
# @return [ASCII8BIT-String] accessor for iv (max 8 bytes)
|
33
33
|
attr_accessor :iv
|
34
|
-
# @return [String] accessor for data (max 24 bytes)
|
34
|
+
# @return [ASCII8BIT-String] accessor for data (max 24 bytes)
|
35
35
|
attr_accessor :data
|
36
36
|
end
|
37
37
|
class PKCS11::ProtectServer::CK_TIMESTAMP_PARAMS < PKCS11::ProtectServer::CStruct
|
@@ -115,7 +115,7 @@ SIZEOF_STRUCT=Integer
|
|
115
115
|
def to_s; end
|
116
116
|
# @return [Array<String>] Attributes of this struct
|
117
117
|
def members; end
|
118
|
-
# @return [String, nil] accessor for prompt
|
118
|
+
# @return [USASCII-String, nil] accessor for prompt
|
119
119
|
attr_accessor :prompt
|
120
120
|
# @return [Boolean] Bool value
|
121
121
|
attr_accessor :bMaskInput
|
@@ -129,7 +129,7 @@ SIZEOF_STRUCT=Integer
|
|
129
129
|
def to_s; end
|
130
130
|
# @return [Array<String>] Attributes of this struct
|
131
131
|
def members; end
|
132
|
-
# @return [String] accessor for peerId (max 16 bytes)
|
132
|
+
# @return [USASCII-String] accessor for peerId (max 16 bytes)
|
133
133
|
attr_accessor :peerId
|
134
134
|
end
|
135
135
|
class PKCS11::ProtectServer::CK_SECRET_SHARE_PARAMS < PKCS11::ProtectServer::CStruct
|
@@ -151,9 +151,9 @@ SIZEOF_STRUCT=Integer
|
|
151
151
|
def to_s; end
|
152
152
|
# @return [Array<String>] Attributes of this struct
|
153
153
|
def members; end
|
154
|
-
# @return [String, nil] accessor for passwordAuthSafe and passwordAuthSafeLen
|
154
|
+
# @return [USASCII-String, nil] accessor for passwordAuthSafe and passwordAuthSafeLen
|
155
155
|
attr_accessor :passwordAuthSafe
|
156
|
-
# @return [String, nil] accessor for passwordHMAC and passwordHMACLen
|
156
|
+
# @return [USASCII-String, nil] accessor for passwordHMAC and passwordHMACLen
|
157
157
|
attr_accessor :passwordHMAC
|
158
158
|
# @return [Integer, PKCS11::Object] Object handle (CK_ULONG)
|
159
159
|
attr_accessor :keyCert
|
@@ -173,9 +173,9 @@ def to_s; end
|
|
173
173
|
def members; end
|
174
174
|
# @return [Array<PKCS11::CK_ATTRIBUTE>] accessor for certAttr and certAttrCount
|
175
175
|
attr_accessor :certAttr
|
176
|
-
# @return [String, nil] accessor for passwordAuthSafe and passwordAuthSafeLen
|
176
|
+
# @return [USASCII-String, nil] accessor for passwordAuthSafe and passwordAuthSafeLen
|
177
177
|
attr_accessor :passwordAuthSafe
|
178
|
-
# @return [String, nil] accessor for passwordHMAC and passwordHMACLen
|
178
|
+
# @return [USASCII-String, nil] accessor for passwordHMAC and passwordHMACLen
|
179
179
|
attr_accessor :passwordHMAC
|
180
180
|
# @return [Integer, nil] accessor for hCertCount (CK_ULONG_PTR)
|
181
181
|
attr_accessor :hCertCount
|
@@ -187,9 +187,9 @@ SIZEOF_STRUCT=Integer
|
|
187
187
|
def to_s; end
|
188
188
|
# @return [Array<String>] Attributes of this struct
|
189
189
|
def members; end
|
190
|
-
# @return [String, nil] accessor for pSharedData1
|
190
|
+
# @return [ASCII8BIT-String, nil] accessor for pSharedData1
|
191
191
|
attr_accessor :pSharedData1
|
192
|
-
# @return [String, nil] accessor for pSharedData2
|
192
|
+
# @return [ASCII8BIT-String, nil] accessor for pSharedData2
|
193
193
|
attr_accessor :pSharedData2
|
194
194
|
# @return [Integer] accessor for kdf (CK_ULONG)
|
195
195
|
attr_accessor :kdf
|
data/ext/pk11s_struct_impl.inc
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
PKCS11_IMPLEMENT_STRUCT_WITH_ALLOCATOR(CK_DES_CBC_PARAMS);
|
2
|
-
PKCS11_IMPLEMENT_STRING_ACCESSOR(CK_DES_CBC_PARAMS, iv);
|
3
|
-
PKCS11_IMPLEMENT_STRING_ACCESSOR(CK_DES_CBC_PARAMS, data);
|
2
|
+
PKCS11_IMPLEMENT_STRING_ACCESSOR(CK_DES_CBC_PARAMS, iv, ascii8bit);
|
3
|
+
PKCS11_IMPLEMENT_STRING_ACCESSOR(CK_DES_CBC_PARAMS, data, ascii8bit);
|
4
4
|
|
5
5
|
PKCS11_IMPLEMENT_STRUCT_WITH_ALLOCATOR(CK_DES2_CBC_PARAMS);
|
6
|
-
PKCS11_IMPLEMENT_STRING_ACCESSOR(CK_DES2_CBC_PARAMS, iv);
|
7
|
-
PKCS11_IMPLEMENT_STRING_ACCESSOR(CK_DES2_CBC_PARAMS, data);
|
6
|
+
PKCS11_IMPLEMENT_STRING_ACCESSOR(CK_DES2_CBC_PARAMS, iv, ascii8bit);
|
7
|
+
PKCS11_IMPLEMENT_STRING_ACCESSOR(CK_DES2_CBC_PARAMS, data, ascii8bit);
|
8
8
|
|
9
9
|
PKCS11_IMPLEMENT_STRUCT_WITH_ALLOCATOR(CK_DES3_CBC_PARAMS);
|
10
|
-
PKCS11_IMPLEMENT_STRING_ACCESSOR(CK_DES3_CBC_PARAMS, iv);
|
11
|
-
PKCS11_IMPLEMENT_STRING_ACCESSOR(CK_DES3_CBC_PARAMS, data);
|
10
|
+
PKCS11_IMPLEMENT_STRING_ACCESSOR(CK_DES3_CBC_PARAMS, iv, ascii8bit);
|
11
|
+
PKCS11_IMPLEMENT_STRING_ACCESSOR(CK_DES3_CBC_PARAMS, data, ascii8bit);
|
12
12
|
|
13
13
|
PKCS11_IMPLEMENT_STRUCT_WITH_ALLOCATOR(CK_TIMESTAMP_PARAMS);
|
14
14
|
PKCS11_IMPLEMENT_BOOL_ACCESSOR(CK_TIMESTAMP_PARAMS, useMilliseconds);
|
@@ -36,22 +36,22 @@ PKCS11_IMPLEMENT_STRUCT_ACCESSOR(CK_PKCS_7_PARAMS, CK_MECH_AND_OBJECTS, encrypti
|
|
36
36
|
PKCS11_IMPLEMENT_STRUCT_ACCESSOR(CK_PKCS_7_PARAMS, CK_ATTRIBUTES, extensions);
|
37
37
|
|
38
38
|
PKCS11_IMPLEMENT_STRUCT_WITH_ALLOCATOR(CK_PP_LOAD_SECRET_PARAMS);
|
39
|
-
PKCS11_IMPLEMENT_STRING_PTR_ACCESSOR(CK_PP_LOAD_SECRET_PARAMS, prompt);
|
39
|
+
PKCS11_IMPLEMENT_STRING_PTR_ACCESSOR(CK_PP_LOAD_SECRET_PARAMS, prompt, usascii);
|
40
40
|
PKCS11_IMPLEMENT_BOOL_ACCESSOR(CK_PP_LOAD_SECRET_PARAMS, bMaskInput);
|
41
41
|
PKCS11_IMPLEMENT_ULONG_ACCESSOR(CK_PP_LOAD_SECRET_PARAMS, cConvert);
|
42
42
|
/* unimplemented attr CK_CHAR cTimeout */
|
43
43
|
/* unimplemented attr CK_CHAR reserved */
|
44
44
|
|
45
45
|
PKCS11_IMPLEMENT_STRUCT_WITH_ALLOCATOR(CK_REPLICATE_TOKEN_PARAMS);
|
46
|
-
PKCS11_IMPLEMENT_STRING_ACCESSOR(CK_REPLICATE_TOKEN_PARAMS, peerId);
|
46
|
+
PKCS11_IMPLEMENT_STRING_ACCESSOR(CK_REPLICATE_TOKEN_PARAMS, peerId, usascii);
|
47
47
|
|
48
48
|
PKCS11_IMPLEMENT_STRUCT_WITH_ALLOCATOR(CK_SECRET_SHARE_PARAMS);
|
49
49
|
PKCS11_IMPLEMENT_ULONG_ACCESSOR(CK_SECRET_SHARE_PARAMS, n);
|
50
50
|
PKCS11_IMPLEMENT_ULONG_ACCESSOR(CK_SECRET_SHARE_PARAMS, m);
|
51
51
|
|
52
52
|
PKCS11_IMPLEMENT_STRUCT_WITH_ALLOCATOR(CK_PKCS12_PBE_EXPORT_PARAMS);
|
53
|
-
PKCS11_IMPLEMENT_STRING_PTR_LEN_ACCESSOR(CK_PKCS12_PBE_EXPORT_PARAMS, passwordAuthSafe, passwordAuthSafeLen);
|
54
|
-
PKCS11_IMPLEMENT_STRING_PTR_LEN_ACCESSOR(CK_PKCS12_PBE_EXPORT_PARAMS, passwordHMAC, passwordHMACLen);
|
53
|
+
PKCS11_IMPLEMENT_STRING_PTR_LEN_ACCESSOR(CK_PKCS12_PBE_EXPORT_PARAMS, passwordAuthSafe, passwordAuthSafeLen, usascii);
|
54
|
+
PKCS11_IMPLEMENT_STRING_PTR_LEN_ACCESSOR(CK_PKCS12_PBE_EXPORT_PARAMS, passwordHMAC, passwordHMACLen, usascii);
|
55
55
|
PKCS11_IMPLEMENT_HANDLE_ACCESSOR(CK_PKCS12_PBE_EXPORT_PARAMS, keyCert);
|
56
56
|
PKCS11_IMPLEMENT_ULONG_ACCESSOR(CK_PKCS12_PBE_EXPORT_PARAMS, safeBagKgMech);
|
57
57
|
PKCS11_IMPLEMENT_ULONG_ACCESSOR(CK_PKCS12_PBE_EXPORT_PARAMS, safeContentKgMech);
|
@@ -59,14 +59,14 @@ PKCS11_IMPLEMENT_ULONG_ACCESSOR(CK_PKCS12_PBE_EXPORT_PARAMS, hmacKgMech);
|
|
59
59
|
|
60
60
|
PKCS11_IMPLEMENT_STRUCT_WITH_ALLOCATOR(CK_PKCS12_PBE_IMPORT_PARAMS);
|
61
61
|
PKCS11_IMPLEMENT_PKCS11_STRUCT_PTR_ARRAY_ACCESSOR(CK_PKCS12_PBE_IMPORT_PARAMS, CK_ATTRIBUTE, certAttr, certAttrCount);
|
62
|
-
PKCS11_IMPLEMENT_STRING_PTR_LEN_ACCESSOR(CK_PKCS12_PBE_IMPORT_PARAMS, passwordAuthSafe, passwordAuthSafeLen);
|
63
|
-
PKCS11_IMPLEMENT_STRING_PTR_LEN_ACCESSOR(CK_PKCS12_PBE_IMPORT_PARAMS, passwordHMAC, passwordHMACLen);
|
62
|
+
PKCS11_IMPLEMENT_STRING_PTR_LEN_ACCESSOR(CK_PKCS12_PBE_IMPORT_PARAMS, passwordAuthSafe, passwordAuthSafeLen, usascii);
|
63
|
+
PKCS11_IMPLEMENT_STRING_PTR_LEN_ACCESSOR(CK_PKCS12_PBE_IMPORT_PARAMS, passwordHMAC, passwordHMACLen, usascii);
|
64
64
|
/* unimplemented attr CK_OBJECT_HANDLE_PTR hCert */
|
65
65
|
PKCS11_IMPLEMENT_ULONG_PTR_ACCESSOR(CK_PKCS12_PBE_IMPORT_PARAMS, hCertCount);
|
66
66
|
|
67
67
|
PKCS11_IMPLEMENT_STRUCT_WITH_ALLOCATOR(CK_ECIES_PARAMS);
|
68
|
-
PKCS11_IMPLEMENT_STRING_PTR_ACCESSOR(CK_ECIES_PARAMS, pSharedData1);
|
69
|
-
PKCS11_IMPLEMENT_STRING_PTR_ACCESSOR(CK_ECIES_PARAMS, pSharedData2);
|
68
|
+
PKCS11_IMPLEMENT_STRING_PTR_ACCESSOR(CK_ECIES_PARAMS, pSharedData1, ascii8bit);
|
69
|
+
PKCS11_IMPLEMENT_STRING_PTR_ACCESSOR(CK_ECIES_PARAMS, pSharedData2, ascii8bit);
|
70
70
|
/* unimplemented attr CK_EC_DH_PRIMITIVE dhPrimitive */
|
71
71
|
PKCS11_IMPLEMENT_ULONG_ACCESSOR(CK_ECIES_PARAMS, kdf);
|
72
72
|
PKCS11_IMPLEMENT_ULONG_ACCESSOR(CK_ECIES_PARAMS, ulSharedDataLen1);
|
@@ -58,6 +58,15 @@ module ProtectServer
|
|
58
58
|
#
|
59
59
|
# See also PKCS11::Library#initialize[http://pkcs11.rubyforge.org/pkcs11/PKCS11/Library.html#initialize-instance_method] of pkcs11.gem
|
60
60
|
def initialize(so_path = nil, args = {})
|
61
|
+
super(so_path, args)
|
62
|
+
end
|
63
|
+
|
64
|
+
def load_library(so_path)
|
65
|
+
@so_path = resolve_so_path(so_path)
|
66
|
+
super(@so_path)
|
67
|
+
end
|
68
|
+
|
69
|
+
def resolve_so_path(so_path)
|
61
70
|
if [:sw, :hsm].include?(so_path)
|
62
71
|
if RUBY_PLATFORM =~ /mswin|mingw/
|
63
72
|
libctsw_so = "cryptoki.dll"
|
@@ -80,10 +89,9 @@ module ProtectServer
|
|
80
89
|
|
81
90
|
raise "#{libctsw_so} not found - please install ProtectServer PTK-C or set ENV['CRYPTOKI_SO']" unless so_path
|
82
91
|
end
|
83
|
-
|
84
|
-
@so_path = so_path
|
85
|
-
super(so_path, args)
|
92
|
+
return so_path
|
86
93
|
end
|
94
|
+
private :resolve_so_path
|
87
95
|
|
88
96
|
def vendor_const_get(name)
|
89
97
|
return ProtectServer.const_get(name) if ProtectServer.const_defined?(name)
|
data/test/helper.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
require "
|
1
|
+
require "minitest/autorun"
|
2
2
|
require "pkcs11_protect_server"
|
3
3
|
require "test/helper"
|
4
4
|
|
5
|
-
class TestPkcs11ProtectServer < Test
|
5
|
+
class TestPkcs11ProtectServer < Minitest::Test
|
6
6
|
include PKCS11
|
7
7
|
|
8
8
|
def test_CStruct
|
@@ -12,7 +12,7 @@ class TestPkcs11ProtectServer < Test::Unit::TestCase
|
|
12
12
|
assert_match( /m=3/, s.inspect, 'There should be a n value in CK_SECRET_SHARE_PARAMS')
|
13
13
|
assert_equal ["n", "m"], s.members, 'CK_SECRET_SHARE_PARAMS should contain some attributes'
|
14
14
|
assert_equal [2, 3], s.values, 'values of CK_SECRET_SHARE_PARAMS'
|
15
|
-
assert_equal( {:
|
15
|
+
assert_equal( {n: 2, m: 3}, s.to_hash, 'CK_SECRET_SHARE_PARAMS as hash' )
|
16
16
|
end
|
17
17
|
|
18
18
|
def test_CK_PKCS12_PBE_IMPORT_PARAMS
|
@@ -23,7 +23,7 @@ class TestPkcs11ProtectServer < Test::Unit::TestCase
|
|
23
23
|
s.certAttr = [s1, s2]
|
24
24
|
assert_equal [s1.to_hash, s2.to_hash], s.certAttr.map{|e| e.to_hash }
|
25
25
|
GC.start
|
26
|
-
|
26
|
+
assert_raises(ArgumentError){ s.certAttr = [s1, s2, nil] }
|
27
27
|
assert_equal [s1.to_hash, s2.to_hash], s.certAttr.map{|e| e.to_hash }
|
28
28
|
|
29
29
|
s.certAttr = []
|
@@ -39,12 +39,21 @@ class TestPkcs11ProtectServer < Test::Unit::TestCase
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def test_loading
|
42
|
-
pk = PKCS11::ProtectServer::Library.new(:sw, :
|
42
|
+
pk = PKCS11::ProtectServer::Library.new(:sw, flags: 0)
|
43
43
|
so_path = pk.so_path
|
44
44
|
pk.close
|
45
45
|
assert !so_path.empty?, "Used path shouldn't be empty"
|
46
46
|
|
47
|
-
pk = PKCS11::ProtectServer::Library.new(so_path, :
|
47
|
+
pk = PKCS11::ProtectServer::Library.new(so_path, flags: 0)
|
48
|
+
pk.close
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_loading2
|
52
|
+
pk = PKCS11::ProtectServer::Library.new
|
53
|
+
pk.load_library(:sw)
|
54
|
+
pk.C_GetFunctionList
|
55
|
+
pk.C_Initialize(flags: 0)
|
56
|
+
pk.info
|
48
57
|
pk.close
|
49
58
|
end
|
50
59
|
end
|
@@ -1,8 +1,8 @@
|
|
1
|
-
require "
|
1
|
+
require "minitest/autorun"
|
2
2
|
require "pkcs11_protect_server"
|
3
3
|
require "test/helper"
|
4
4
|
|
5
|
-
class TestPkcs11ProtectServerCrypt < Test
|
5
|
+
class TestPkcs11ProtectServerCrypt < Minitest::Test
|
6
6
|
include PKCS11
|
7
7
|
attr_reader :slots
|
8
8
|
attr_reader :slot
|
@@ -39,12 +39,12 @@ class TestPkcs11ProtectServerCrypt < Test::Unit::TestCase
|
|
39
39
|
assert_equal CKS_RO_USER_FUNCTIONS, session.info.state, "Session should be in USER state"
|
40
40
|
|
41
41
|
@secret_key = session.create_object(
|
42
|
-
:
|
43
|
-
:
|
44
|
-
:
|
45
|
-
:
|
46
|
-
:
|
47
|
-
:
|
42
|
+
CLASS: CKO_SECRET_KEY,
|
43
|
+
KEY_TYPE: CKK_DES2,
|
44
|
+
ENCRYPT: true, WRAP: true, DECRYPT: true, UNWRAP: true, TOKEN: false, DERIVE: true,
|
45
|
+
USAGE_COUNT: 0, EXPORTABLE: true,
|
46
|
+
VALUE: adjust_parity("0123456789abcdef"),
|
47
|
+
LABEL: 'test_secret_key')
|
48
48
|
end
|
49
49
|
|
50
50
|
def teardown
|
@@ -58,12 +58,12 @@ class TestPkcs11ProtectServerCrypt < Test::Unit::TestCase
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def test_bad_parity
|
61
|
-
|
61
|
+
assert_raises(ProtectServer::CKR_ET_NOT_ODD_PARITY) do
|
62
62
|
session.create_object(
|
63
|
-
:
|
64
|
-
:
|
65
|
-
:
|
66
|
-
:
|
63
|
+
CLASS: CKO_SECRET_KEY,
|
64
|
+
KEY_TYPE: CKK_DES2,
|
65
|
+
VALUE: "0123456789abcdef",
|
66
|
+
LABEL: 'test_secret_key2')
|
67
67
|
end
|
68
68
|
end
|
69
69
|
|
@@ -73,14 +73,14 @@ class TestPkcs11ProtectServerCrypt < Test::Unit::TestCase
|
|
73
73
|
pa.iv = "2"*8
|
74
74
|
|
75
75
|
new_key1 = session.derive_key( {ProtectServer::CKM_DES3_DERIVE_CBC => pa}, secret_key,
|
76
|
-
:
|
77
|
-
|
76
|
+
CLASS: CKO_SECRET_KEY, KEY_TYPE: CKK_DES2, ENCRYPT: true, DECRYPT: true, SENSITIVE: false )
|
77
|
+
refute_equal secret_key[:VALUE], new_key1[:VALUE], 'Derived key shouldn\'t have equal key value'
|
78
78
|
|
79
|
-
new_key2 = session.derive_key( {:
|
80
|
-
:
|
79
|
+
new_key2 = session.derive_key( {DES3_DERIVE_CBC: {data: "1"*16, iv: "2"*16}}, secret_key,
|
80
|
+
CLASS: CKO_SECRET_KEY, KEY_TYPE: CKK_DES2, ENCRYPT: true, DECRYPT: true, SENSITIVE: false )
|
81
81
|
assert_equal new_key1[:VALUE], new_key2[:VALUE], 'Both derived key should be equal'
|
82
82
|
|
83
|
-
encrypted_key_value = session.encrypt( {:
|
83
|
+
encrypted_key_value = session.encrypt( {DES3_CBC: "2"*8}, secret_key, "1"*16)
|
84
84
|
encrypted_key_value = adjust_parity(encrypted_key_value)
|
85
85
|
assert_equal new_key1[:VALUE], encrypted_key_value, 'Encrypted data should equal derived key value'
|
86
86
|
|
@@ -98,6 +98,6 @@ class TestPkcs11ProtectServerCrypt < Test::Unit::TestCase
|
|
98
98
|
assert_equal 5, secret_key[:USAGE_COUNT], 'CKA_USAGE_COUNT should be usable'
|
99
99
|
|
100
100
|
assert_equal false, secret_key[:IMPORT], 'CKA_IMPORT should default to false'
|
101
|
-
|
101
|
+
refute_nil secret_key.attributes.find{|a| a.type==ProtectServer::CKA_EXPORT}, 'CKA_EXPORT should be returned for Object#attributes'
|
102
102
|
end
|
103
103
|
end
|
metadata
CHANGED
@@ -1,165 +1,169 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: pkcs11_protect_server
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 2
|
9
|
-
- 2
|
10
|
-
version: 0.2.2
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.0
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Lars Kanis
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
|
-
cert_chain:
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
10
|
+
cert_chain:
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIDPDCCAiSgAwIBAgIBBjANBgkqhkiG9w0BAQsFADBEMQ0wCwYDVQQDDARsYXJz
|
14
|
+
MR8wHQYKCZImiZPyLGQBGRYPZ3JlaXotcmVpbnNkb3JmMRIwEAYKCZImiZPyLGQB
|
15
|
+
GRYCZGUwHhcNMTkxMjAzMTkzNDA5WhcNMjAxMjAyMTkzNDA5WjBEMQ0wCwYDVQQD
|
16
|
+
DARsYXJzMR8wHQYKCZImiZPyLGQBGRYPZ3JlaXotcmVpbnNkb3JmMRIwEAYKCZIm
|
17
|
+
iZPyLGQBGRYCZGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZb4Uv
|
18
|
+
RFJfRu/VEWiy3psh2jinETjiuBrL0NeRFGf8H7iU9+gx/DI/FFhfHGLrDeIskrJx
|
19
|
+
YIWDMmEjVO10UUdj7wu4ZhmU++0Cd7Kq9/TyP/shIP3IjqHjVLCnJ3P6f1cl5rxZ
|
20
|
+
gqo+d3BAoDrmPk0rtaf6QopwUw9RBiF8V4HqvpiY+ruJotP5UQDP4/lVOKvA8PI9
|
21
|
+
P0GmVbFBrbc7Zt5h78N3UyOK0u+nvOC23BvyHXzCtcFsXCoEkt+Wwh0RFqVZdnjM
|
22
|
+
LMO2vULHKKHDdX54K/sbVCj9pN9h1aotNzrEyo55zxn0G9PHg/G3P8nMvAXPkUTe
|
23
|
+
brhXrfCwWRvOXA4TAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0G
|
24
|
+
A1UdDgQWBBRAHK81igrXodaDj8a8/BIKsaZrETANBgkqhkiG9w0BAQsFAAOCAQEA
|
25
|
+
XDITkfRngYnc7MnDMd1XRSZqZKPvPFIk/ByhD4T5mHDAmOVV9Q4csAF9wAnYqLVG
|
26
|
+
XqetRpK47O55NHN7zG2RbE7ospqgNU4ToXM2KCZuGoGuV75RBf6kk498kcPuFBPq
|
27
|
+
FWzBIlr9Nat2NjwmEAvVf2UrmKl7rEDCQTkYCe9H5qkWtbneBASIfbVaw14yhosQ
|
28
|
+
0fP+rf/XkPrhjfYMBd258JnTy32boRZQ018c/kX8myjnEZA6rTr6082ESHD3BTHj
|
29
|
+
D5uWyL3krcnTOgVS0jv7qSuxDjlvpHqvN1BNaw64Gf5TpqRDNM5r+hXhD8U339Ot
|
30
|
+
lrxBVhTTtOOm6AE6oziYmw==
|
31
|
+
-----END CERTIFICATE-----
|
32
|
+
date: 2019-12-05 00:00:00.000000000 Z
|
33
|
+
dependencies:
|
34
|
+
- !ruby/object:Gem::Dependency
|
21
35
|
name: pkcs11
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
hash: 19
|
29
|
-
segments:
|
30
|
-
- 0
|
31
|
-
- 2
|
32
|
-
- 2
|
33
|
-
version: 0.2.2
|
36
|
+
requirement: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.3.0
|
34
41
|
type: :runtime
|
35
|
-
version_requirements: *id001
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: yard
|
38
42
|
prerelease: false
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.3.0
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: yard
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.6'
|
49
55
|
type: :development
|
50
|
-
|
51
|
-
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.6'
|
62
|
+
- !ruby/object:Gem::Dependency
|
52
63
|
name: rake-compiler
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.7'
|
69
|
+
type: :development
|
53
70
|
prerelease: false
|
54
|
-
|
55
|
-
|
56
|
-
|
71
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0.7'
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
name: rdoc
|
78
|
+
requirement: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
57
80
|
- - ">="
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
version: "0.7"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '4.0'
|
83
|
+
- - "<"
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '7'
|
64
86
|
type: :development
|
65
|
-
version_requirements: *id003
|
66
|
-
- !ruby/object:Gem::Dependency
|
67
|
-
name: hoe
|
68
87
|
prerelease: false
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
requirements:
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '4.0'
|
93
|
+
- - "<"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '7'
|
96
|
+
- !ruby/object:Gem::Dependency
|
97
|
+
name: hoe
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '3.20'
|
79
103
|
type: :development
|
80
|
-
version_requirements: *id004
|
81
|
-
- !ruby/object:Gem::Dependency
|
82
|
-
name: rdoc
|
83
104
|
prerelease: false
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
- 10
|
93
|
-
version: "3.10"
|
94
|
-
type: :development
|
95
|
-
version_requirements: *id005
|
96
|
-
description: This module allows Ruby programs to use vendor extensions for Safenet Protect Server.
|
97
|
-
email:
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '3.20'
|
110
|
+
description: This module allows Ruby programs to use vendor extensions for Safenet
|
111
|
+
Protect Server.
|
112
|
+
email:
|
98
113
|
- kanis@comcard.de
|
99
114
|
executables: []
|
100
|
-
|
101
|
-
extensions:
|
115
|
+
extensions:
|
102
116
|
- ext/extconf.rb
|
103
|
-
extra_rdoc_files:
|
117
|
+
extra_rdoc_files:
|
104
118
|
- Manifest.txt
|
105
119
|
- README_PROTECT_SERVER.rdoc
|
106
120
|
- ext/pk11s.c
|
107
|
-
files:
|
108
|
-
- .gemtest
|
109
|
-
- .yardopts
|
121
|
+
files:
|
122
|
+
- ".gemtest"
|
123
|
+
- ".yardopts"
|
110
124
|
- Manifest.txt
|
111
125
|
- README_PROTECT_SERVER.rdoc
|
112
126
|
- Rakefile
|
113
127
|
- ext/extconf.rb
|
114
128
|
- ext/generate_constants.rb
|
115
129
|
- ext/generate_structs.rb
|
130
|
+
- ext/pk11_const_macros.h
|
131
|
+
- ext/pk11_struct_macros.h
|
132
|
+
- ext/pk11_version.h
|
116
133
|
- ext/pk11s.c
|
134
|
+
- ext/pk11s_const_def.inc
|
135
|
+
- ext/pk11s_struct.doc
|
136
|
+
- ext/pk11s_struct_def.inc
|
137
|
+
- ext/pk11s_struct_impl.inc
|
117
138
|
- lib/pkcs11_protect_server.rb
|
118
139
|
- lib/pkcs11_protect_server/extensions.rb
|
119
140
|
- test/helper.rb
|
120
141
|
- test/test_pkcs11_protect_server.rb
|
121
142
|
- test/test_pkcs11_protect_server_crypt.rb
|
122
|
-
- ext/pk11s_struct_impl.inc
|
123
|
-
- ext/pk11s_struct_def.inc
|
124
|
-
- ext/pk11s_const_def.inc
|
125
|
-
- ext/pk11s_struct.doc
|
126
|
-
- ext/pk11_struct_macros.h
|
127
|
-
- ext/pk11_const_macros.h
|
128
|
-
- ext/pk11_version.h
|
129
143
|
homepage: http://github.com/larskanis/pkcs11
|
130
|
-
licenses:
|
131
|
-
|
144
|
+
licenses:
|
145
|
+
- MIT
|
146
|
+
metadata:
|
147
|
+
homepage_uri: http://github.com/larskanis/pkcs11
|
132
148
|
post_install_message:
|
133
|
-
rdoc_options:
|
134
|
-
- --main
|
149
|
+
rdoc_options:
|
150
|
+
- "--main"
|
135
151
|
- README_PROTECT_SERVER.rdoc
|
136
|
-
require_paths:
|
152
|
+
require_paths:
|
137
153
|
- lib
|
138
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
139
|
-
|
140
|
-
requirements:
|
154
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
141
156
|
- - ">="
|
142
|
-
- !ruby/object:Gem::Version
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
version: "0"
|
147
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
148
|
-
none: false
|
149
|
-
requirements:
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: 2.2.0
|
159
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
160
|
+
requirements:
|
150
161
|
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
|
153
|
-
segments:
|
154
|
-
- 0
|
155
|
-
version: "0"
|
162
|
+
- !ruby/object:Gem::Version
|
163
|
+
version: '0'
|
156
164
|
requirements: []
|
157
|
-
|
158
|
-
rubyforge_project: pkcs11_protect_server
|
159
|
-
rubygems_version: 1.8.11
|
165
|
+
rubygems_version: 3.0.3
|
160
166
|
signing_key:
|
161
|
-
specification_version:
|
167
|
+
specification_version: 4
|
162
168
|
summary: Safenet-ProtectServer extensions for PKCS#11-Ruby
|
163
|
-
test_files:
|
164
|
-
- test/test_pkcs11_protect_server.rb
|
165
|
-
- test/test_pkcs11_protect_server_crypt.rb
|
169
|
+
test_files: []
|
metadata.gz.sig
ADDED