pki_express 1.3.1 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/.gitattributes +2 -2
  3. data/.github/workflows/test.yml +21 -21
  4. data/.gitignore +27 -27
  5. data/CHANGELOG.md +19 -16
  6. data/Gemfile +8 -7
  7. data/README.md +24 -24
  8. data/Rakefile +6 -6
  9. data/lib/pki_express/auth_complete_result.rb +21 -21
  10. data/lib/pki_express/auth_start_result.rb +76 -76
  11. data/lib/pki_express/authentication.rb +284 -284
  12. data/lib/pki_express/base_signer.rb +54 -54
  13. data/lib/pki_express/cades_signature.rb +89 -89
  14. data/lib/pki_express/cades_signature_starter.rb +242 -242
  15. data/lib/pki_express/check_service_result.rb +15 -15
  16. data/lib/pki_express/command_error.rb +13 -13
  17. data/lib/pki_express/commands.rb +24 -24
  18. data/lib/pki_express/digest_algorithm.rb +118 -118
  19. data/lib/pki_express/digest_algorithm_and_value.rb +30 -30
  20. data/lib/pki_express/discovery_service_result.rb +25 -25
  21. data/lib/pki_express/enum.rb +9 -9
  22. data/lib/pki_express/error_codes.rb +46 -46
  23. data/lib/pki_express/installation_not_found_error.rb +8 -8
  24. data/lib/pki_express/name.rb +47 -47
  25. data/lib/pki_express/oids.rb +30 -30
  26. data/lib/pki_express/pades_certification_level.rb +7 -7
  27. data/lib/pki_express/pades_horizontal_align.rb +9 -9
  28. data/lib/pki_express/pades_measurement_units.rb +8 -8
  29. data/lib/pki_express/pades_page_optimization.rb +50 -50
  30. data/lib/pki_express/pades_page_orientation.rb +9 -9
  31. data/lib/pki_express/pades_paper_size.rb +21 -21
  32. data/lib/pki_express/pades_signature.rb +16 -16
  33. data/lib/pki_express/pades_signature_explorer.rb +30 -30
  34. data/lib/pki_express/pades_signature_starter.rb +251 -251
  35. data/lib/pki_express/pades_signer.rb +274 -274
  36. data/lib/pki_express/pades_signer_info.rb +9 -9
  37. data/lib/pki_express/pades_size.rb +17 -17
  38. data/lib/pki_express/pades_text_horizontal_align.rb +8 -8
  39. data/lib/pki_express/pades_vertical_align.rb +9 -9
  40. data/lib/pki_express/pades_visual_auto_positioning.rb +21 -21
  41. data/lib/pki_express/pades_visual_image.rb +51 -51
  42. data/lib/pki_express/pades_visual_manual_positioning.rb +16 -16
  43. data/lib/pki_express/pades_visual_positioning.rb +27 -27
  44. data/lib/pki_express/pades_visual_rectangle.rb +74 -74
  45. data/lib/pki_express/pades_visual_representation.rb +22 -22
  46. data/lib/pki_express/pades_visual_text.rb +35 -35
  47. data/lib/pki_express/pk_algorithms.rb +157 -157
  48. data/lib/pki_express/pk_certificate.rb +61 -61
  49. data/lib/pki_express/pki_brazil_certificate_fields.rb +57 -57
  50. data/lib/pki_express/pki_brazil_certificate_types.rb +19 -19
  51. data/lib/pki_express/pki_express_config.rb +39 -26
  52. data/lib/pki_express/pki_express_operator.rb +240 -240
  53. data/lib/pki_express/pki_italy_certificate_fields.rb +15 -15
  54. data/lib/pki_express/pki_italy_certificate_types.rb +11 -11
  55. data/lib/pki_express/signature_algorithm_and_value.rb +34 -34
  56. data/lib/pki_express/signature_explorer.rb +74 -74
  57. data/lib/pki_express/signature_finisher.rb +314 -314
  58. data/lib/pki_express/signature_policy_identifier.rb +20 -20
  59. data/lib/pki_express/signature_start_result.rb +12 -12
  60. data/lib/pki_express/signature_starter.rb +116 -116
  61. data/lib/pki_express/signer.rb +151 -151
  62. data/lib/pki_express/standard_signature_policies.rb +58 -58
  63. data/lib/pki_express/timestamp_authority.rb +50 -50
  64. data/lib/pki_express/trust_service_auth_parameters.rb +20 -20
  65. data/lib/pki_express/trust_service_info.rb +37 -37
  66. data/lib/pki_express/trust_service_manager.rb +258 -258
  67. data/lib/pki_express/trust_service_session_result.rb +29 -29
  68. data/lib/pki_express/trust_service_session_types.rb +7 -7
  69. data/lib/pki_express/tsa_authentication_type.rb +14 -14
  70. data/lib/pki_express/validation_error.rb +8 -8
  71. data/lib/pki_express/validation_item.rb +43 -43
  72. data/lib/pki_express/validation_item_types.rb +103 -103
  73. data/lib/pki_express/validation_results.rb +120 -120
  74. data/lib/pki_express/version.rb +3 -3
  75. data/lib/pki_express/version_manager.rb +20 -20
  76. data/lib/pki_express.rb +69 -69
  77. data/pki_express.gemspec +26 -26
  78. data/spec/pki_express/pki_express_config_spec.rb +73 -0
  79. data/spec/pki_express/pki_express_operator_spec.rb +30 -30
  80. metadata +4 -2
data/lib/pki_express.rb CHANGED
@@ -1,70 +1,70 @@
1
- require_relative 'pki_express/pki_express_config'
2
- require_relative 'pki_express/pki_express_operator'
3
- require_relative 'pki_express/enum'
4
- require_relative 'pki_express/pk_algorithms'
5
- require_relative 'pki_express/base_signer'
6
- require_relative 'pki_express/signature_starter'
7
- require_relative 'pki_express/signature_explorer'
8
- require_relative 'pki_express/signer'
9
- require_relative 'pki_express/auth_complete_result'
10
- require_relative 'pki_express/auth_start_result'
11
- require_relative 'pki_express/authentication'
12
- require_relative 'pki_express/cades_signature'
13
- require_relative 'pki_express/cades_signature_starter'
14
- require_relative 'pki_express/check_service_result'
15
- require_relative 'pki_express/command_error'
16
- require_relative 'pki_express/commands'
17
- require_relative 'pki_express/digest_algorithm'
18
- require_relative 'pki_express/digest_algorithm_and_value'
19
- require_relative 'pki_express/discovery_service_result'
20
- require_relative 'pki_express/error_codes'
21
- require_relative 'pki_express/installation_not_found_error'
22
- require_relative 'pki_express/oids'
23
- require_relative 'pki_express/name'
24
- require_relative 'pki_express/pades_certification_level'
25
- require_relative 'pki_express/pades_horizontal_align'
26
- require_relative 'pki_express/pades_measurement_units'
27
- require_relative 'pki_express/pades_page_optimization'
28
- require_relative 'pki_express/pades_page_optimization'
29
- require_relative 'pki_express/pades_paper_size'
30
- require_relative 'pki_express/pades_signature'
31
- require_relative 'pki_express/pades_signature_explorer'
32
- require_relative 'pki_express/pades_signature_starter'
33
- require_relative 'pki_express/pades_signer'
34
- require_relative 'pki_express/pades_signer_info'
35
- require_relative 'pki_express/pades_size'
36
- require_relative 'pki_express/pades_text_horizontal_align'
37
- require_relative 'pki_express/pades_vertical_align'
38
- require_relative 'pki_express/pades_visual_positioning'
39
- require_relative 'pki_express/pades_visual_auto_positioning'
40
- require_relative 'pki_express/pades_visual_image'
41
- require_relative 'pki_express/pades_visual_manual_positioning'
42
- require_relative 'pki_express/pades_visual_rectangle'
43
- require_relative 'pki_express/pades_visual_representation'
44
- require_relative 'pki_express/pades_visual_text'
45
- require_relative 'pki_express/pk_certificate'
46
- require_relative 'pki_express/pki_brazil_certificate_fields'
47
- require_relative 'pki_express/pki_brazil_certificate_types'
48
- require_relative 'pki_express/pki_italy_certificate_fields'
49
- require_relative 'pki_express/pki_italy_certificate_types'
50
- require_relative 'pki_express/signature_algorithm_and_value'
51
- require_relative 'pki_express/signature_finisher'
52
- require_relative 'pki_express/signature_policy_identifier'
53
- require_relative 'pki_express/signature_start_result'
54
- require_relative 'pki_express/standard_signature_policies'
55
- require_relative 'pki_express/timestamp_authority'
56
- require_relative 'pki_express/trust_service_auth_parameters'
57
- require_relative 'pki_express/trust_service_info'
58
- require_relative 'pki_express/trust_service_manager'
59
- require_relative 'pki_express/trust_service_session_result'
60
- require_relative 'pki_express/trust_service_session_types'
61
- require_relative 'pki_express/tsa_authentication_type'
62
- require_relative 'pki_express/validation_error'
63
- require_relative 'pki_express/validation_item'
64
- require_relative 'pki_express/validation_item_types'
65
- require_relative 'pki_express/validation_results'
66
- require_relative 'pki_express/version'
67
- require_relative 'pki_express/version_manager'
68
-
69
- module PkiExpress
1
+ require_relative 'pki_express/pki_express_config'
2
+ require_relative 'pki_express/pki_express_operator'
3
+ require_relative 'pki_express/enum'
4
+ require_relative 'pki_express/pk_algorithms'
5
+ require_relative 'pki_express/base_signer'
6
+ require_relative 'pki_express/signature_starter'
7
+ require_relative 'pki_express/signature_explorer'
8
+ require_relative 'pki_express/signer'
9
+ require_relative 'pki_express/auth_complete_result'
10
+ require_relative 'pki_express/auth_start_result'
11
+ require_relative 'pki_express/authentication'
12
+ require_relative 'pki_express/cades_signature'
13
+ require_relative 'pki_express/cades_signature_starter'
14
+ require_relative 'pki_express/check_service_result'
15
+ require_relative 'pki_express/command_error'
16
+ require_relative 'pki_express/commands'
17
+ require_relative 'pki_express/digest_algorithm'
18
+ require_relative 'pki_express/digest_algorithm_and_value'
19
+ require_relative 'pki_express/discovery_service_result'
20
+ require_relative 'pki_express/error_codes'
21
+ require_relative 'pki_express/installation_not_found_error'
22
+ require_relative 'pki_express/oids'
23
+ require_relative 'pki_express/name'
24
+ require_relative 'pki_express/pades_certification_level'
25
+ require_relative 'pki_express/pades_horizontal_align'
26
+ require_relative 'pki_express/pades_measurement_units'
27
+ require_relative 'pki_express/pades_page_optimization'
28
+ require_relative 'pki_express/pades_page_optimization'
29
+ require_relative 'pki_express/pades_paper_size'
30
+ require_relative 'pki_express/pades_signature'
31
+ require_relative 'pki_express/pades_signature_explorer'
32
+ require_relative 'pki_express/pades_signature_starter'
33
+ require_relative 'pki_express/pades_signer'
34
+ require_relative 'pki_express/pades_signer_info'
35
+ require_relative 'pki_express/pades_size'
36
+ require_relative 'pki_express/pades_text_horizontal_align'
37
+ require_relative 'pki_express/pades_vertical_align'
38
+ require_relative 'pki_express/pades_visual_positioning'
39
+ require_relative 'pki_express/pades_visual_auto_positioning'
40
+ require_relative 'pki_express/pades_visual_image'
41
+ require_relative 'pki_express/pades_visual_manual_positioning'
42
+ require_relative 'pki_express/pades_visual_rectangle'
43
+ require_relative 'pki_express/pades_visual_representation'
44
+ require_relative 'pki_express/pades_visual_text'
45
+ require_relative 'pki_express/pk_certificate'
46
+ require_relative 'pki_express/pki_brazil_certificate_fields'
47
+ require_relative 'pki_express/pki_brazil_certificate_types'
48
+ require_relative 'pki_express/pki_italy_certificate_fields'
49
+ require_relative 'pki_express/pki_italy_certificate_types'
50
+ require_relative 'pki_express/signature_algorithm_and_value'
51
+ require_relative 'pki_express/signature_finisher'
52
+ require_relative 'pki_express/signature_policy_identifier'
53
+ require_relative 'pki_express/signature_start_result'
54
+ require_relative 'pki_express/standard_signature_policies'
55
+ require_relative 'pki_express/timestamp_authority'
56
+ require_relative 'pki_express/trust_service_auth_parameters'
57
+ require_relative 'pki_express/trust_service_info'
58
+ require_relative 'pki_express/trust_service_manager'
59
+ require_relative 'pki_express/trust_service_session_result'
60
+ require_relative 'pki_express/trust_service_session_types'
61
+ require_relative 'pki_express/tsa_authentication_type'
62
+ require_relative 'pki_express/validation_error'
63
+ require_relative 'pki_express/validation_item'
64
+ require_relative 'pki_express/validation_item_types'
65
+ require_relative 'pki_express/validation_results'
66
+ require_relative 'pki_express/version'
67
+ require_relative 'pki_express/version_manager'
68
+
69
+ module PkiExpress
70
70
  end
data/pki_express.gemspec CHANGED
@@ -1,27 +1,27 @@
1
- # coding: utf-8
2
- require_relative 'lib/pki_express/version'
3
-
4
- Gem::Specification.new do |spec|
5
- spec.name = 'pki_express'
6
- spec.version = PkiExpress::VERSION
7
- spec.license = 'MIT'
8
- spec.authors = ['Ismael Medeiros']
9
- spec.email = %w{ismaelm@lacunasoftware.com}
10
- spec.homepage = 'http://docs.lacunasoftware.com/en-us/articles/pki-express'
11
- spec.summary = 'Gem for using PKI Express on Ruby'
12
- spec.description = 'Classes to use Lacuna Software\'s PKI Express'
13
- spec.files = `git ls-files -z`.split("\x0")
14
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
15
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
16
- spec.require_paths = ['lib']
17
-
18
- spec.metadata = {
19
- 'bug_tracker_uri' => 'https://github.com/LacunaSoftware/PkiExpressRuby/issues',
20
- 'changelog_uri' => 'https://github.com/LacunaSoftware/PkiExpressRuby/blob/develop/CHANGELOG.md',
21
- 'documentation_uri' => 'http://docs.lacunasoftware.com/en-us/articles/pki-express',
22
- 'source_code_uri' => 'https://github.com/LacunaSoftware/PkiExpressRuby'
23
- }
24
-
25
- spec.add_development_dependency 'bundler', '~> 2.3'
26
- spec.add_development_dependency 'rake', '~> 13'
1
+ # coding: utf-8
2
+ require_relative 'lib/pki_express/version'
3
+
4
+ Gem::Specification.new do |spec|
5
+ spec.name = 'pki_express'
6
+ spec.version = PkiExpress::VERSION
7
+ spec.license = 'MIT'
8
+ spec.authors = ['Ismael Medeiros']
9
+ spec.email = %w{ismaelm@lacunasoftware.com}
10
+ spec.homepage = 'http://docs.lacunasoftware.com/en-us/articles/pki-express'
11
+ spec.summary = 'Gem for using PKI Express on Ruby'
12
+ spec.description = 'Classes to use Lacuna Software\'s PKI Express'
13
+ spec.files = `git ls-files -z`.split("\x0")
14
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
15
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
16
+ spec.require_paths = ['lib']
17
+
18
+ spec.metadata = {
19
+ 'bug_tracker_uri' => 'https://github.com/LacunaSoftware/PkiExpressRuby/issues',
20
+ 'changelog_uri' => 'https://github.com/LacunaSoftware/PkiExpressRuby/blob/develop/CHANGELOG.md',
21
+ 'documentation_uri' => 'http://docs.lacunasoftware.com/en-us/articles/pki-express',
22
+ 'source_code_uri' => 'https://github.com/LacunaSoftware/PkiExpressRuby'
23
+ }
24
+
25
+ spec.add_development_dependency 'bundler', '~> 2.3'
26
+ spec.add_development_dependency 'rake', '~> 13'
27
27
  end
@@ -0,0 +1,73 @@
1
+ require 'faker'
2
+
3
+ require_relative '../spec_helper'
4
+
5
+ module PkiExpress
6
+ describe PkiExpressConfig do
7
+ it 'should set valid default values when no value is passed in contructor' do
8
+ config = PkiExpressConfig.new
9
+ expect(config.pki_express_home).to be_nil
10
+ expect(File.directory?(config.temp_folder)).to be(true)
11
+ expect(File.directory?(config.transfer_data_folder)).to be(true)
12
+ end
13
+
14
+ it 'should set pki_express_home folder when a valid path is passed' do
15
+ fake_pki_express_home = Dir.mktmpdir('pkie')
16
+ config = PkiExpressConfig.new(fake_pki_express_home)
17
+ expect(config.pki_express_home).to equal(fake_pki_express_home)
18
+ Dir.rmdir(fake_pki_express_home)
19
+ end
20
+
21
+ it 'should raise ArgumentError when an invalid path is passed' do
22
+ expect { PkiExpressConfig.new(Faker::String.random) }.to raise_error(ArgumentError)
23
+ end
24
+
25
+ it 'should raise ArgumentError when a path is passed but doesn\'t exist' do
26
+ fake_pki_express_home = Faker::File.dir
27
+ expect { PkiExpressConfig.new(fake_pki_express_home) }.to raise_error(ArgumentError)
28
+ end
29
+
30
+ it 'should set temp_folder when a valid path is passed' do
31
+ fake_temp_folder = Dir.mktmpdir('pkie')
32
+ config = PkiExpressConfig.new(nil, fake_temp_folder)
33
+ expect(config.temp_folder).to equal(fake_temp_folder)
34
+ Dir.rmdir(fake_temp_folder)
35
+ end
36
+
37
+ it 'should set temp_folder with a default folder when no path is passed' do
38
+ config1 = PkiExpressConfig.new
39
+ config2 = PkiExpressConfig.new
40
+ expect(config1.temp_folder).to equal(config2.temp_folder)
41
+ end
42
+
43
+ it 'should raise ArgumentError when an invalid path is passed' do
44
+ expect { PkiExpressConfig.new(nil, Faker::String.random) }.to raise_error(ArgumentError)
45
+ end
46
+
47
+ it 'should raise ArgumentError when a path is passed but doesn\'t exist' do
48
+ fake_pki_express_home = Faker::File.dir
49
+ expect { PkiExpressConfig.new(nil, fake_pki_express_home) }.to raise_error(ArgumentError)
50
+ end
51
+
52
+ it 'should set transfer_data_folder when a valid path is passed' do
53
+ fake_transfer_data_folder = Dir.mktmpdir('pkie')
54
+ config = PkiExpressConfig.new(nil, nil, fake_transfer_data_folder)
55
+ expect(config.transfer_data_folder).to equal(fake_transfer_data_folder)
56
+ Dir.rmdir(fake_transfer_data_folder)
57
+ end
58
+
59
+ it 'should set transfer_data_folder with temp_folder value when no path is passed' do
60
+ config = PkiExpressConfig.new
61
+ expect(config.transfer_data_folder).to equal(config.temp_folder)
62
+ end
63
+
64
+ it 'should raise ArgumentError when an invalid path is passed' do
65
+ expect { PkiExpressConfig.new(nil, nil, Faker::String.random) }.to raise_error(ArgumentError)
66
+ end
67
+
68
+ it 'should raise ArgumentError when a path is passed but doesn\'t exist' do
69
+ fake_pki_express_home = Faker::File.dir
70
+ expect { PkiExpressConfig.new(nil, nil, fake_pki_express_home) }.to raise_error(ArgumentError)
71
+ end
72
+ end
73
+ end
@@ -1,31 +1,31 @@
1
- require_relative '../spec_helper'
2
-
3
- module PkiExpress
4
- describe PkiExpressOperator do
5
- it "should remove files created by child classes when GC remove its instance" do
6
- operator = ChildOperator.new
7
- temp_files = []
8
- (1..3).each {
9
- created_file = operator.create_temp_file
10
- temp_files.append(created_file)
11
- expect(File.exist?(created_file)).to equal(true)
12
- }
13
- operator = nil
14
- GC.start
15
-
16
- temp_files.each do |file|
17
- expect(File.exist?(file)).to equal(false)
18
- end
19
- end
20
- end
21
-
22
- class ChildOperator < PkiExpressOperator
23
- def initialize(config=PkiExpressConfig.new)
24
- super(config)
25
- end
26
-
27
- def create_temp_file
28
- super
29
- end
30
- end
1
+ require_relative '../spec_helper'
2
+
3
+ module PkiExpress
4
+ describe PkiExpressOperator do
5
+ it "should remove files created by child classes when GC remove its instance" do
6
+ operator = ChildOperator.new
7
+ temp_files = []
8
+ (1..3).each {
9
+ created_file = operator.create_temp_file
10
+ temp_files.append(created_file)
11
+ expect(File.exist?(created_file)).to equal(true)
12
+ }
13
+ operator = nil
14
+ GC.start
15
+
16
+ temp_files.each do |file|
17
+ expect(File.exist?(file)).to equal(false)
18
+ end
19
+ end
20
+ end
21
+
22
+ class ChildOperator < PkiExpressOperator
23
+ def initialize(config=PkiExpressConfig.new)
24
+ super(config)
25
+ end
26
+
27
+ def create_temp_file
28
+ super
29
+ end
30
+ end
31
31
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pki_express
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ismael Medeiros
@@ -122,6 +122,7 @@ files:
122
122
  - lib/pki_express/version.rb
123
123
  - lib/pki_express/version_manager.rb
124
124
  - pki_express.gemspec
125
+ - spec/pki_express/pki_express_config_spec.rb
125
126
  - spec/pki_express/pki_express_operator_spec.rb
126
127
  - spec/spec_helper.rb
127
128
  homepage: http://docs.lacunasoftware.com/en-us/articles/pki-express
@@ -147,10 +148,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
148
  - !ruby/object:Gem::Version
148
149
  version: '0'
149
150
  requirements: []
150
- rubygems_version: 3.4.10
151
+ rubygems_version: 3.0.3.1
151
152
  signing_key:
152
153
  specification_version: 4
153
154
  summary: Gem for using PKI Express on Ruby
154
155
  test_files:
156
+ - spec/pki_express/pki_express_config_spec.rb
155
157
  - spec/pki_express/pki_express_operator_spec.rb
156
158
  - spec/spec_helper.rb