pki_express 1.3.1 → 1.3.2

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.
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