pkcs11 0.2.7 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,9 +11,10 @@ class TestPkcs11Structs < Minitest::Test
11
11
  def teardown
12
12
  end
13
13
 
14
- def test_STRING_ACCESSOR
14
+ def test_STRING_ACCESSOR_ASCII
15
15
  s = CK_DATE.new
16
16
  assert_equal "\0\0", s.day
17
+ assert_equal Encoding::ASCII, s.day.encoding
17
18
  assert_equal "\0\0\0\0", s.year
18
19
  s.day = "12345"
19
20
  assert_equal "12", s.day
@@ -22,6 +23,20 @@ class TestPkcs11Structs < Minitest::Test
22
23
  assert_raises(TypeError){ s.day = nil }
23
24
  end
24
25
 
26
+ def test_STRING_ACCESSOR_UTF8
27
+ s = CK_INFO.new
28
+ s.manufacturerID = 'Müller'
29
+ assert_equal "Müller", s.manufacturerID.split("\0",2).first
30
+ assert_equal Encoding::UTF_8, s.manufacturerID.encoding
31
+ end
32
+
33
+ def test_STRING_ACCESSOR_BINARY
34
+ s = CK_DES_CBC_ENCRYPT_DATA_PARAMS.new
35
+ s.iv = "somedata"
36
+ assert_equal "somedata", s.iv
37
+ assert_equal Encoding::BINARY, s.iv.encoding
38
+ end
39
+
25
40
  def test_ULONG_ACCESSOR
26
41
  s = CK_SSL3_KEY_MAT_PARAMS.new
27
42
  assert_equal 0, s.ulIVSizeInBits
@@ -42,13 +57,24 @@ class TestPkcs11Structs < Minitest::Test
42
57
  assert_raises(ArgumentError){ s.bIsExport = nil }
43
58
  end
44
59
 
45
- def test_STRING_PTR_ACCESSOR
46
- s = CK_WTLS_MASTER_KEY_DERIVE_PARAMS.new
47
- assert_nil s.pVersion
48
- s.pVersion = "1.2.3"
49
- assert_equal "1.2.3", s.pVersion
50
- s.pVersion = nil
51
- assert_nil s.pVersion
60
+ def test_STRING_PTR_ACCESSOR_UTF8
61
+ s = CK_PBE_PARAMS.new
62
+ assert_nil s.pPassword
63
+ s.pPassword = "secret"
64
+ assert_equal "secret", s.pPassword
65
+ assert_equal Encoding::UTF_8, s.pPassword.encoding
66
+ s.pPassword = nil
67
+ assert_nil s.pPassword
68
+ end
69
+
70
+ def test_STRING_PTR_ACCESSOR_BINARY
71
+ s = CK_DES_CBC_ENCRYPT_DATA_PARAMS.new
72
+ assert_nil s.pData
73
+ s.pData = "some data"
74
+ assert_equal "some data", s.pData
75
+ assert_equal Encoding::BINARY, s.pData.encoding
76
+ s.pData = nil
77
+ assert_nil s.pData
52
78
  end
53
79
 
54
80
  def test_STRUCT_ACCESSOR
@@ -148,7 +174,7 @@ class TestPkcs11Structs < Minitest::Test
148
174
  assert s.inspect =~ /year="2010"/, 'There should be a year in CK_DATE'
149
175
  assert_equal ["year", "month", "day"], s.members, 'CK_DATE should contain some attributes'
150
176
  assert_equal ["2010", "12", "31"], s.values, 'values of CK_DATE'
151
- assert_equal( {:day=>"31", :month=>"12", :year=>"2010"}, s.to_hash, 'CK_DATE as hash' )
177
+ assert_equal( {day: "31", month: "12", year: "2010"}, s.to_hash, 'CK_DATE as hash' )
152
178
  end
153
179
 
154
180
  def test_bignum_attribute
@@ -33,8 +33,8 @@ class TestPkcs11Thread < Minitest::Test
33
33
  end
34
34
  }
35
35
  # This should take some seconds:
36
- pub_key, priv_key = session.generate_key_pair(:RSA_PKCS_KEY_PAIR_GEN,
37
- {:MODULUS_BITS=>2048, :PUBLIC_EXPONENT=>[3].pack("N"), :TOKEN=>false},
36
+ _pub_key, _priv_key = session.generate_key_pair(:RSA_PKCS_KEY_PAIR_GEN,
37
+ {MODULUS_BITS: 2048, PUBLIC_EXPONENT: [65537].pack("N"), TOKEN: false},
38
38
  {})
39
39
  th.kill
40
40
  assert_operator count, :>, 100000, "The second thread should count further concurrent to the key generation"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pkcs11
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryosuke Kutsuna
@@ -12,9 +12,9 @@ bindir: bin
12
12
  cert_chain:
13
13
  - |
14
14
  -----BEGIN CERTIFICATE-----
15
- MIIDPDCCAiSgAwIBAgIBAzANBgkqhkiG9w0BAQUFADBEMQ0wCwYDVQQDDARsYXJz
15
+ MIIDPDCCAiSgAwIBAgIBBjANBgkqhkiG9w0BAQsFADBEMQ0wCwYDVQQDDARsYXJz
16
16
  MR8wHQYKCZImiZPyLGQBGRYPZ3JlaXotcmVpbnNkb3JmMRIwEAYKCZImiZPyLGQB
17
- GRYCZGUwHhcNMTcwNDA0MTgyNDE1WhcNMTgwNDA0MTgyNDE1WjBEMQ0wCwYDVQQD
17
+ GRYCZGUwHhcNMTkxMjAzMTkzNDA5WhcNMjAxMjAyMTkzNDA5WjBEMQ0wCwYDVQQD
18
18
  DARsYXJzMR8wHQYKCZImiZPyLGQBGRYPZ3JlaXotcmVpbnNkb3JmMRIwEAYKCZIm
19
19
  iZPyLGQBGRYCZGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZb4Uv
20
20
  RFJfRu/VEWiy3psh2jinETjiuBrL0NeRFGf8H7iU9+gx/DI/FFhfHGLrDeIskrJx
@@ -23,28 +23,28 @@ cert_chain:
23
23
  P0GmVbFBrbc7Zt5h78N3UyOK0u+nvOC23BvyHXzCtcFsXCoEkt+Wwh0RFqVZdnjM
24
24
  LMO2vULHKKHDdX54K/sbVCj9pN9h1aotNzrEyo55zxn0G9PHg/G3P8nMvAXPkUTe
25
25
  brhXrfCwWRvOXA4TAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0G
26
- A1UdDgQWBBRAHK81igrXodaDj8a8/BIKsaZrETANBgkqhkiG9w0BAQUFAAOCAQEA
27
- Wbp+grpaqUH+RiXNXmi/5xBfvSYLbxWj+DZpCSnQW+DMfx46RVVko3b7BtKDs2zs
28
- EtKM6r6s7VbllPgcYUzaP92uzPqCw8FncvqG0+B+Nd4C2jKzPxAQyzYXv/3bQhv1
29
- sXAzEqLQqKx5V63eBDh1TPvPTEMfJwmjcdcbvMwFSt5EcUkT63W13ZJXX23JYp1K
30
- KRW+N1WIYz8RSBNaQIP2v5Inb9vUA+jPUOcdyLHoi205lyZ28hE4lcnh9Zs02aHs
31
- Ao8FZozVJz8xVEuYNJsL2k70w0FiwXwoWyvKyekgPBvYNUj4JGDMtBBayJTOpDs7
32
- 3EVmCm5IRuqZ1UcDFouQ9w==
26
+ A1UdDgQWBBRAHK81igrXodaDj8a8/BIKsaZrETANBgkqhkiG9w0BAQsFAAOCAQEA
27
+ XDITkfRngYnc7MnDMd1XRSZqZKPvPFIk/ByhD4T5mHDAmOVV9Q4csAF9wAnYqLVG
28
+ XqetRpK47O55NHN7zG2RbE7ospqgNU4ToXM2KCZuGoGuV75RBf6kk498kcPuFBPq
29
+ FWzBIlr9Nat2NjwmEAvVf2UrmKl7rEDCQTkYCe9H5qkWtbneBASIfbVaw14yhosQ
30
+ 0fP+rf/XkPrhjfYMBd258JnTy32boRZQ018c/kX8myjnEZA6rTr6082ESHD3BTHj
31
+ D5uWyL3krcnTOgVS0jv7qSuxDjlvpHqvN1BNaw64Gf5TpqRDNM5r+hXhD8U339Ot
32
+ lrxBVhTTtOOm6AE6oziYmw==
33
33
  -----END CERTIFICATE-----
34
- date: 2018-01-05 00:00:00.000000000 Z
34
+ date: 2019-12-05 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: yard
38
38
  requirement: !ruby/object:Gem::Requirement
39
39
  requirements:
40
- - - ">="
40
+ - - "~>"
41
41
  - !ruby/object:Gem::Version
42
42
  version: '0.6'
43
43
  type: :development
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ">="
47
+ - - "~>"
48
48
  - !ruby/object:Gem::Version
49
49
  version: '0.6'
50
50
  - !ruby/object:Gem::Dependency
@@ -107,30 +107,36 @@ dependencies:
107
107
  name: rdoc
108
108
  requirement: !ruby/object:Gem::Requirement
109
109
  requirements:
110
- - - "~>"
110
+ - - ">="
111
111
  - !ruby/object:Gem::Version
112
112
  version: '4.0'
113
+ - - "<"
114
+ - !ruby/object:Gem::Version
115
+ version: '7'
113
116
  type: :development
114
117
  prerelease: false
115
118
  version_requirements: !ruby/object:Gem::Requirement
116
119
  requirements:
117
- - - "~>"
120
+ - - ">="
118
121
  - !ruby/object:Gem::Version
119
122
  version: '4.0'
123
+ - - "<"
124
+ - !ruby/object:Gem::Version
125
+ version: '7'
120
126
  - !ruby/object:Gem::Dependency
121
127
  name: hoe
122
128
  requirement: !ruby/object:Gem::Requirement
123
129
  requirements:
124
130
  - - "~>"
125
131
  - !ruby/object:Gem::Version
126
- version: '3.16'
132
+ version: '3.20'
127
133
  type: :development
128
134
  prerelease: false
129
135
  version_requirements: !ruby/object:Gem::Requirement
130
136
  requirements:
131
137
  - - "~>"
132
138
  - !ruby/object:Gem::Version
133
- version: '3.16'
139
+ version: '3.20'
134
140
  description: 'This module allows Ruby programs to interface with "RSA Security Inc.
135
141
  PKCS #11 Cryptographic Token Interface (Cryptoki)".'
136
142
  email:
@@ -149,8 +155,10 @@ extra_rdoc_files:
149
155
  - pkcs11_protect_server/README_PROTECT_SERVER.rdoc
150
156
  - ext/pk11.c
151
157
  files:
158
+ - ".appveyor.yml"
152
159
  - ".autotest"
153
160
  - ".gemtest"
161
+ - ".gitignore"
154
162
  - ".travis.yml"
155
163
  - ".yardopts"
156
164
  - Gemfile
@@ -158,7 +166,6 @@ files:
158
166
  - MIT-LICENSE
159
167
  - README.rdoc
160
168
  - Rakefile
161
- - appveyor.yml
162
169
  - ext/extconf.rb
163
170
  - ext/generate_constants.rb
164
171
  - ext/generate_structs.rb
@@ -207,7 +214,8 @@ files:
207
214
  homepage: http://github.com/larskanis/pkcs11
208
215
  licenses:
209
216
  - MIT
210
- metadata: {}
217
+ metadata:
218
+ homepage_uri: http://github.com/larskanis/pkcs11
211
219
  post_install_message:
212
220
  rdoc_options:
213
221
  - "--main"
@@ -218,15 +226,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
218
226
  requirements:
219
227
  - - ">="
220
228
  - !ruby/object:Gem::Version
221
- version: '0'
229
+ version: 2.2.0
222
230
  required_rubygems_version: !ruby/object:Gem::Requirement
223
231
  requirements:
224
232
  - - ">="
225
233
  - !ruby/object:Gem::Version
226
234
  version: '0'
227
235
  requirements: []
228
- rubyforge_project:
229
- rubygems_version: 2.7.3
236
+ rubygems_version: 3.0.3
230
237
  signing_key:
231
238
  specification_version: 4
232
239
  summary: PKCS#11 binding for Ruby
metadata.gz.sig CHANGED
Binary file
@@ -1,42 +0,0 @@
1
- install:
2
- - SET PATH=C:/Ruby%ruby_version%/bin;%PATH%
3
- - SET PATH=C:/MinGW/msys/1.0/bin;%PATH%
4
- - SET RAKEOPT=-rdevkit
5
- - ruby --version
6
- - gem --version
7
- - bundle install
8
-
9
- # When running ruby-x86, we make use of the softokn3.dll that is part of the
10
- # pre-installed firefox. The test helper will find it automatically.
11
- # When running ruby-x64, we equally need a 64 bit softokn3.dll to test against.
12
- # However it is not part of any installed software on appveyor, nor is it
13
- # officially released as a windows binary, so we download and install a 64 bit
14
- # firefox version and use it's softokn3.dll.
15
- - ps: |
16
- if ($env:isx64 -eq "1")
17
- {
18
- $(new-object net.webclient).DownloadFile('http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/40.0b4/win64/en-US/Firefox%20Setup%2040.0b4.exe', 'C:/firefox-setup.exe')
19
- cmd /c "C:/firefox-setup.exe" -ms
20
- $env:SOFTOKN_PATH = 'C:/Program Files/Mozilla Firefox/softokn3.dll'
21
- $env:PATH = 'C:/Program Files/Mozilla Firefox;' + $env:PATH
22
- }
23
-
24
- build: off
25
-
26
- test_script:
27
- - bundle exec rake compile test gem
28
-
29
- environment:
30
- matrix:
31
- - ruby_version: "24"
32
- RUBY_DLL_PATH: "C:/Program Files (x86)/Mozilla Firefox"
33
- - ruby_version: "24-x64"
34
- RUBY_DLL_PATH: "C:/Program Files/Mozilla Firefox"
35
- isx64: "1"
36
- - ruby_version: "200"
37
- #- ruby_version: "200-x64"
38
- #- ruby_version: "21"
39
- #- ruby_version: "21-x64"
40
- - ruby_version: "22"
41
- - ruby_version: "23-x64"
42
- isx64: "1"