pkcs11 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -44,11 +44,20 @@ class TestPkcs11Slot < Test::Unit::TestCase
44
44
  assert_equal false, slot.mechanisms.empty?, 'There should be some mechanisms'
45
45
  slot.mechanisms.each do |m|
46
46
  info = slot.mechanism_info(m)
47
- assert_equal CK_MECHANISM_INFO, info.class, 'Mechanism info should a CK_MECHANISM_INFO'
47
+ assert_equal CK_MECHANISM_INFO, info.class, 'Mechanism info should get a CK_MECHANISM_INFO'
48
48
  assert info.inspect =~ /ulMaxKeySize=/, 'Mechanism info should tell about max key size'
49
49
  end
50
50
  end
51
51
 
52
+ def test_mechanism_info
53
+ info1 = slot.mechanism_info(:DES3_CBC)
54
+ assert_equal CK_MECHANISM_INFO, info1.class, 'Mechanism info should get a CK_MECHANISM_INFO'
55
+ assert info1.inspect =~ /ulMinKeySize=/, 'Mechanism info should tell about min key size'
56
+
57
+ info2 = slot.mechanism_info(CKM_DES3_CBC)
58
+ assert_equal info1.to_hash, info2.to_hash, 'Mechanism infos should be equal'
59
+ end
60
+
52
61
  def test_session
53
62
  flags = CKF_SERIAL_SESSION #| CKF_RW_SESSION
54
63
  session = slot.open(flags){|_session|
@@ -4,7 +4,7 @@ require "test/helper"
4
4
 
5
5
  class TestPkcs11Structs < Test::Unit::TestCase
6
6
  include PKCS11
7
-
7
+
8
8
  def setup
9
9
  end
10
10
 
@@ -98,7 +98,7 @@ class TestPkcs11Structs < Test::Unit::TestCase
98
98
  s.pServerRandom = nil
99
99
  assert_nil s.pServerRandom
100
100
  end
101
-
101
+
102
102
  def test_STRUCT_PTR_ACCESSOR
103
103
  s = CK_SSL3_KEY_MAT_PARAMS.new
104
104
  assert_nil s.pReturnedKeyMaterial
@@ -122,13 +122,32 @@ class TestPkcs11Structs < Test::Unit::TestCase
122
122
  assert_nil s.pulOutputLen
123
123
  end
124
124
 
125
+ def test_STRUCT_ARRAY_ACCESSOR
126
+ s = CK_OTP_PARAMS.new
127
+ assert_equal [], s.pParams
128
+ s1 = CK_OTP_PARAM.new
129
+ s1.type = CK_OTP_VALUE
130
+ s1.pValue = "\0xyz"
131
+ s2 = CK_OTP_PARAM.new
132
+ s2.type = CK_OTP_PIN
133
+ s2.pValue = "1234"
134
+ s.pParams = [s1, s2]
135
+ assert_equal [s1.to_hash, s2.to_hash], s.pParams.map{|e| e.to_hash }
136
+ GC.start
137
+ assert_raise(ArgumentError){ s.pParams = [s1, s2, nil] }
138
+ assert_equal [s1.to_hash, s2.to_hash], s.pParams.map{|e| e.to_hash }
139
+
140
+ s.pParams = []
141
+ assert_equal [], s.pParams
142
+ end
143
+
125
144
  def test_CStruct
126
145
  s = CK_DATE.new
127
146
  s.day, s.month, s.year = "31", "12", "2010"
128
147
 
129
148
  assert s.inspect =~ /year="2010"/, 'There should be a year in CK_DATE'
130
- assert_equal ["day", "month", "year"], s.members, 'CK_DATE should contain some attributes'
131
- assert_equal ["31", "12", "2010"], s.values, 'values of CK_DATE'
149
+ assert_equal ["year", "month", "day"], s.members, 'CK_DATE should contain some attributes'
150
+ assert_equal ["2010", "12", "31"], s.values, 'values of CK_DATE'
132
151
  assert_equal( {:day=>"31", :month=>"12", :year=>"2010"}, s.to_hash, 'CK_DATE as hash' )
133
152
  end
134
153
  end
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pkcs11
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ hash: 21
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 2
9
+ - 1
10
+ version: 0.2.1
5
11
  platform: ruby
6
12
  authors:
7
13
  - Ryosuke Kutsuna
@@ -11,49 +17,71 @@ autorequire:
11
17
  bindir: bin
12
18
  cert_chain: []
13
19
 
14
- date: 2011-01-11 00:00:00 +01:00
20
+ date: 2011-04-20 00:00:00 +02:00
15
21
  default_executable:
16
22
  dependencies:
17
23
  - !ruby/object:Gem::Dependency
18
24
  name: rubyforge
19
- type: :development
20
- version_requirement:
21
- version_requirements: !ruby/object:Gem::Requirement
25
+ prerelease: false
26
+ requirement: &id001 !ruby/object:Gem::Requirement
27
+ none: false
22
28
  requirements:
23
29
  - - ">="
24
30
  - !ruby/object:Gem::Version
31
+ hash: 7
32
+ segments:
33
+ - 2
34
+ - 0
35
+ - 4
25
36
  version: 2.0.4
26
- version:
37
+ type: :development
38
+ version_requirements: *id001
27
39
  - !ruby/object:Gem::Dependency
28
40
  name: yard
29
- type: :development
30
- version_requirement:
31
- version_requirements: !ruby/object:Gem::Requirement
41
+ prerelease: false
42
+ requirement: &id002 !ruby/object:Gem::Requirement
43
+ none: false
32
44
  requirements:
33
45
  - - ">="
34
46
  - !ruby/object:Gem::Version
47
+ hash: 7
48
+ segments:
49
+ - 0
50
+ - 6
35
51
  version: "0.6"
36
- version:
52
+ type: :development
53
+ version_requirements: *id002
37
54
  - !ruby/object:Gem::Dependency
38
55
  name: rake-compiler
39
- type: :development
40
- version_requirement:
41
- version_requirements: !ruby/object:Gem::Requirement
56
+ prerelease: false
57
+ requirement: &id003 !ruby/object:Gem::Requirement
58
+ none: false
42
59
  requirements:
43
60
  - - ">="
44
61
  - !ruby/object:Gem::Version
62
+ hash: 5
63
+ segments:
64
+ - 0
65
+ - 7
45
66
  version: "0.7"
46
- version:
67
+ type: :development
68
+ version_requirements: *id003
47
69
  - !ruby/object:Gem::Dependency
48
70
  name: hoe
49
- type: :development
50
- version_requirement:
51
- version_requirements: !ruby/object:Gem::Requirement
71
+ prerelease: false
72
+ requirement: &id004 !ruby/object:Gem::Requirement
73
+ none: false
52
74
  requirements:
53
75
  - - ">="
54
76
  - !ruby/object:Gem::Version
55
- version: 2.6.0
56
- version:
77
+ hash: 19
78
+ segments:
79
+ - 2
80
+ - 7
81
+ - 0
82
+ version: 2.7.0
83
+ type: :development
84
+ version_requirements: *id004
57
85
  description: "This module allows Ruby programs to interface with \"RSA Security Inc. PKCS #11 Cryptographic Token Interface (Cryptoki)\"."
58
86
  email:
59
87
  - ryosuke@deer-n-horse.jp
@@ -77,6 +105,7 @@ files:
77
105
  - README.rdoc
78
106
  - Rakefile
79
107
  - ext/extconf.rb
108
+ - ext/generate_constants.rb
80
109
  - ext/generate_structs.rb
81
110
  - ext/generate_thread_funcs.rb
82
111
  - ext/include/cryptoki.h
@@ -89,6 +118,8 @@ files:
89
118
  - ext/pk11.c
90
119
  - ext/pk11.h
91
120
  - ext/pk11_const.c
121
+ - ext/pk11_const_macros.h
122
+ - ext/pk11_struct_macros.h
92
123
  - lib/pkcs11.rb
93
124
  - lib/pkcs11/extensions.rb
94
125
  - lib/pkcs11/helper.rb
@@ -125,29 +156,35 @@ rdoc_options:
125
156
  require_paths:
126
157
  - lib
127
158
  required_ruby_version: !ruby/object:Gem::Requirement
159
+ none: false
128
160
  requirements:
129
161
  - - ">="
130
162
  - !ruby/object:Gem::Version
163
+ hash: 3
164
+ segments:
165
+ - 0
131
166
  version: "0"
132
- version:
133
167
  required_rubygems_version: !ruby/object:Gem::Requirement
168
+ none: false
134
169
  requirements:
135
170
  - - ">="
136
171
  - !ruby/object:Gem::Version
172
+ hash: 3
173
+ segments:
174
+ - 0
137
175
  version: "0"
138
- version:
139
176
  requirements: []
140
177
 
141
178
  rubyforge_project: pkcs11
142
- rubygems_version: 1.3.5
179
+ rubygems_version: 1.6.2
143
180
  signing_key:
144
181
  specification_version: 3
145
182
  summary: PKCS#11 binding for Ruby
146
183
  test_files:
147
- - test/test_pkcs11_thread.rb
184
+ - test/test_pkcs11_object.rb
148
185
  - test/test_pkcs11_structs.rb
186
+ - test/test_pkcs11_thread.rb
149
187
  - test/test_pkcs11_session.rb
150
188
  - test/test_pkcs11_slot.rb
151
- - test/test_pkcs11.rb
152
189
  - test/test_pkcs11_crypt.rb
153
- - test/test_pkcs11_object.rb
190
+ - test/test_pkcs11.rb