pki_express 1.3.0 → 1.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitattributes +2 -2
- data/.github/workflows/test.yml +22 -0
- data/.gitignore +27 -27
- data/.rspec +1 -0
- data/CHANGELOG.md +19 -12
- data/Gemfile +9 -4
- data/README.md +24 -24
- data/Rakefile +7 -1
- data/lib/pki_express/auth_complete_result.rb +21 -21
- data/lib/pki_express/auth_start_result.rb +76 -76
- data/lib/pki_express/authentication.rb +284 -284
- data/lib/pki_express/base_signer.rb +54 -54
- data/lib/pki_express/cades_signature.rb +89 -89
- data/lib/pki_express/cades_signature_starter.rb +242 -242
- data/lib/pki_express/check_service_result.rb +15 -15
- data/lib/pki_express/command_error.rb +13 -13
- data/lib/pki_express/commands.rb +24 -24
- data/lib/pki_express/digest_algorithm.rb +118 -118
- data/lib/pki_express/digest_algorithm_and_value.rb +30 -30
- data/lib/pki_express/discovery_service_result.rb +25 -25
- data/lib/pki_express/enum.rb +9 -9
- data/lib/pki_express/error_codes.rb +46 -46
- data/lib/pki_express/installation_not_found_error.rb +8 -8
- data/lib/pki_express/name.rb +47 -47
- data/lib/pki_express/oids.rb +30 -30
- data/lib/pki_express/pades_certification_level.rb +7 -7
- data/lib/pki_express/pades_horizontal_align.rb +9 -9
- data/lib/pki_express/pades_measurement_units.rb +8 -8
- data/lib/pki_express/pades_page_optimization.rb +50 -50
- data/lib/pki_express/pades_page_orientation.rb +9 -9
- data/lib/pki_express/pades_paper_size.rb +21 -21
- data/lib/pki_express/pades_signature.rb +16 -16
- data/lib/pki_express/pades_signature_explorer.rb +30 -30
- data/lib/pki_express/pades_signature_starter.rb +251 -251
- data/lib/pki_express/pades_signer.rb +274 -274
- data/lib/pki_express/pades_signer_info.rb +9 -9
- data/lib/pki_express/pades_size.rb +17 -17
- data/lib/pki_express/pades_text_horizontal_align.rb +8 -8
- data/lib/pki_express/pades_vertical_align.rb +9 -9
- data/lib/pki_express/pades_visual_auto_positioning.rb +21 -21
- data/lib/pki_express/pades_visual_image.rb +51 -51
- data/lib/pki_express/pades_visual_manual_positioning.rb +16 -16
- data/lib/pki_express/pades_visual_positioning.rb +27 -27
- data/lib/pki_express/pades_visual_rectangle.rb +74 -74
- data/lib/pki_express/pades_visual_representation.rb +22 -22
- data/lib/pki_express/pades_visual_text.rb +35 -35
- data/lib/pki_express/pk_algorithms.rb +157 -157
- data/lib/pki_express/pk_certificate.rb +61 -61
- data/lib/pki_express/pki_brazil_certificate_fields.rb +57 -57
- data/lib/pki_express/pki_brazil_certificate_types.rb +19 -19
- data/lib/pki_express/pki_express_config.rb +39 -26
- data/lib/pki_express/pki_express_operator.rb +240 -234
- data/lib/pki_express/pki_italy_certificate_fields.rb +15 -15
- data/lib/pki_express/pki_italy_certificate_types.rb +11 -11
- data/lib/pki_express/signature_algorithm_and_value.rb +34 -34
- data/lib/pki_express/signature_explorer.rb +74 -74
- data/lib/pki_express/signature_finisher.rb +314 -314
- data/lib/pki_express/signature_policy_identifier.rb +20 -20
- data/lib/pki_express/signature_start_result.rb +12 -12
- data/lib/pki_express/signature_starter.rb +116 -116
- data/lib/pki_express/signer.rb +151 -151
- data/lib/pki_express/standard_signature_policies.rb +58 -58
- data/lib/pki_express/timestamp_authority.rb +50 -50
- data/lib/pki_express/trust_service_auth_parameters.rb +20 -20
- data/lib/pki_express/trust_service_info.rb +37 -37
- data/lib/pki_express/trust_service_manager.rb +258 -258
- data/lib/pki_express/trust_service_session_result.rb +29 -29
- data/lib/pki_express/trust_service_session_types.rb +7 -7
- data/lib/pki_express/tsa_authentication_type.rb +14 -14
- data/lib/pki_express/validation_error.rb +8 -8
- data/lib/pki_express/validation_item.rb +43 -43
- data/lib/pki_express/validation_item_types.rb +103 -103
- data/lib/pki_express/validation_results.rb +120 -120
- data/lib/pki_express/version.rb +3 -3
- data/lib/pki_express/version_manager.rb +20 -20
- data/lib/pki_express.rb +69 -69
- data/pki_express.gemspec +26 -26
- data/spec/pki_express/pki_express_config_spec.rb +73 -0
- data/spec/pki_express/pki_express_operator_spec.rb +31 -0
- data/spec/spec_helper.rb +13 -0
- metadata +17 -9
data/lib/pki_express/name.rb
CHANGED
@@ -1,48 +1,48 @@
|
|
1
|
-
module PkiExpress
|
2
|
-
|
3
|
-
class Name
|
4
|
-
|
5
|
-
attr_accessor :country, :organization, :organization_unit, :dn_qualifier,
|
6
|
-
:state_name, :common_name, :serial_number, :locality, :title,
|
7
|
-
:surname, :given_name, :initials, :pseudonym,
|
8
|
-
:generation_qualifier, :email_address
|
9
|
-
|
10
|
-
def initialize(model)
|
11
|
-
@country = nil
|
12
|
-
@organization = nil
|
13
|
-
@organization_unit = nil
|
14
|
-
@dn_qualifier = nil
|
15
|
-
@state_name = nil
|
16
|
-
@common_name = nil
|
17
|
-
@serial_number = nil
|
18
|
-
@locality = nil
|
19
|
-
@title = nil
|
20
|
-
@surname = nil
|
21
|
-
@given_name = nil
|
22
|
-
@initials = nil
|
23
|
-
@pseudonym = nil
|
24
|
-
@generation_qualifier = nil
|
25
|
-
@email_address = nil
|
26
|
-
|
27
|
-
|
28
|
-
if model
|
29
|
-
@country = model.fetch(:country)
|
30
|
-
@organization = model.fetch(:organization)
|
31
|
-
@organization_unit = model.fetch(:organizationUnit)
|
32
|
-
@dn_qualifier = model.fetch(:dnQualifier)
|
33
|
-
@state_name = model.fetch(:stateName)
|
34
|
-
@common_name = model.fetch(:commonName)
|
35
|
-
@serial_number = model.fetch(:serialNumber)
|
36
|
-
@locality = model.fetch(:locality)
|
37
|
-
@title = model.fetch(:title)
|
38
|
-
@surname = model.fetch(:surname)
|
39
|
-
@given_name = model.fetch(:givenName)
|
40
|
-
@initials = model.fetch(:initials)
|
41
|
-
@pseudonym = model.fetch(:pseudonym)
|
42
|
-
@generation_qualifier = model.fetch(:generationQualifier)
|
43
|
-
@email_address = model.fetch(:emailAddress)
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
1
|
+
module PkiExpress
|
2
|
+
|
3
|
+
class Name
|
4
|
+
|
5
|
+
attr_accessor :country, :organization, :organization_unit, :dn_qualifier,
|
6
|
+
:state_name, :common_name, :serial_number, :locality, :title,
|
7
|
+
:surname, :given_name, :initials, :pseudonym,
|
8
|
+
:generation_qualifier, :email_address
|
9
|
+
|
10
|
+
def initialize(model)
|
11
|
+
@country = nil
|
12
|
+
@organization = nil
|
13
|
+
@organization_unit = nil
|
14
|
+
@dn_qualifier = nil
|
15
|
+
@state_name = nil
|
16
|
+
@common_name = nil
|
17
|
+
@serial_number = nil
|
18
|
+
@locality = nil
|
19
|
+
@title = nil
|
20
|
+
@surname = nil
|
21
|
+
@given_name = nil
|
22
|
+
@initials = nil
|
23
|
+
@pseudonym = nil
|
24
|
+
@generation_qualifier = nil
|
25
|
+
@email_address = nil
|
26
|
+
|
27
|
+
|
28
|
+
if model
|
29
|
+
@country = model.fetch(:country)
|
30
|
+
@organization = model.fetch(:organization)
|
31
|
+
@organization_unit = model.fetch(:organizationUnit)
|
32
|
+
@dn_qualifier = model.fetch(:dnQualifier)
|
33
|
+
@state_name = model.fetch(:stateName)
|
34
|
+
@common_name = model.fetch(:commonName)
|
35
|
+
@serial_number = model.fetch(:serialNumber)
|
36
|
+
@locality = model.fetch(:locality)
|
37
|
+
@title = model.fetch(:title)
|
38
|
+
@surname = model.fetch(:surname)
|
39
|
+
@given_name = model.fetch(:givenName)
|
40
|
+
@initials = model.fetch(:initials)
|
41
|
+
@pseudonym = model.fetch(:pseudonym)
|
42
|
+
@generation_qualifier = model.fetch(:generationQualifier)
|
43
|
+
@email_address = model.fetch(:emailAddress)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
48
|
end
|
data/lib/pki_express/oids.rb
CHANGED
@@ -1,31 +1,31 @@
|
|
1
|
-
module PkiExpress
|
2
|
-
|
3
|
-
class Oids < Enum
|
4
|
-
# region Digest Algorithms
|
5
|
-
MD5 = '1.2.840.113549.2.5'
|
6
|
-
SHA1 = '1.3.14.3.2.26'
|
7
|
-
# SHA224 = '2.16.840.1.101.3.4.2.4', # RFC 3874 section 4
|
8
|
-
SHA256 = '2.16.840.1.101.3.4.2.1'
|
9
|
-
SHA384 = '2.16.840.1.101.3.4.2.2'
|
10
|
-
SHA512 = '2.16.840.1.101.3.4.2.3'
|
11
|
-
# endregion
|
12
|
-
|
13
|
-
# region Signature Algorithms
|
14
|
-
MD2_WITH_RSA = '1.2.840.113549.1.1.2'
|
15
|
-
MD5_WITH_RSA = '1.2.840.113549.1.1.4'
|
16
|
-
SHA1_WITH_RSA = '1.2.840.113549.1.1.5'
|
17
|
-
SHA256_WITH_RSA = '1.2.840.113549.1.1.11'
|
18
|
-
SHA384_WITH_RSA = '1.2.840.113549.1.1.12'
|
19
|
-
SHA512_WITH_RSA = '1.2.840.113549.1.1.13'
|
20
|
-
|
21
|
-
SHA1_WITH_DSA = '1.2.840.10040.4.3' # RFC 3279 section 2.2.2
|
22
|
-
# SHA224_WITH_DSA = '2.16.840.1.101.3.4.3.1' # RFC 5758 section 3.1
|
23
|
-
SHA256_WITH_DSA = '2.16.840.1.101.3.4.3.2' # RFC 5758 section 3.1
|
24
|
-
# endregion
|
25
|
-
|
26
|
-
# region Asymmetric Algorithms
|
27
|
-
RSA = '1.2.840.113549.1.1.1' # RFC 3279 section 2.3.1
|
28
|
-
DSA = '1.2.840.10040.4.1' # RFC 3279 section 2.3.2
|
29
|
-
# endregion
|
30
|
-
end
|
1
|
+
module PkiExpress
|
2
|
+
|
3
|
+
class Oids < Enum
|
4
|
+
# region Digest Algorithms
|
5
|
+
MD5 = '1.2.840.113549.2.5'
|
6
|
+
SHA1 = '1.3.14.3.2.26'
|
7
|
+
# SHA224 = '2.16.840.1.101.3.4.2.4', # RFC 3874 section 4
|
8
|
+
SHA256 = '2.16.840.1.101.3.4.2.1'
|
9
|
+
SHA384 = '2.16.840.1.101.3.4.2.2'
|
10
|
+
SHA512 = '2.16.840.1.101.3.4.2.3'
|
11
|
+
# endregion
|
12
|
+
|
13
|
+
# region Signature Algorithms
|
14
|
+
MD2_WITH_RSA = '1.2.840.113549.1.1.2'
|
15
|
+
MD5_WITH_RSA = '1.2.840.113549.1.1.4'
|
16
|
+
SHA1_WITH_RSA = '1.2.840.113549.1.1.5'
|
17
|
+
SHA256_WITH_RSA = '1.2.840.113549.1.1.11'
|
18
|
+
SHA384_WITH_RSA = '1.2.840.113549.1.1.12'
|
19
|
+
SHA512_WITH_RSA = '1.2.840.113549.1.1.13'
|
20
|
+
|
21
|
+
SHA1_WITH_DSA = '1.2.840.10040.4.3' # RFC 3279 section 2.2.2
|
22
|
+
# SHA224_WITH_DSA = '2.16.840.1.101.3.4.3.1' # RFC 5758 section 3.1
|
23
|
+
SHA256_WITH_DSA = '2.16.840.1.101.3.4.3.2' # RFC 5758 section 3.1
|
24
|
+
# endregion
|
25
|
+
|
26
|
+
# region Asymmetric Algorithms
|
27
|
+
RSA = '1.2.840.113549.1.1.1' # RFC 3279 section 2.3.1
|
28
|
+
DSA = '1.2.840.10040.4.1' # RFC 3279 section 2.3.2
|
29
|
+
# endregion
|
30
|
+
end
|
31
31
|
end
|
@@ -1,8 +1,8 @@
|
|
1
|
-
module PkiExpress
|
2
|
-
class PadesCertificationLevel < Enum
|
3
|
-
NOT_CERTIFIED = 'not-certified'
|
4
|
-
CERTIFIED_FORM_FILLING = 'certified-form-filling'
|
5
|
-
CERTIFIED_FORM_FILLING_AND_ANNOTATIONS = 'certified-form-filling-annotations'
|
6
|
-
CERTIFIED_NO_CHANGES_ALLOWED = 'certified-no-changes-allowed'
|
7
|
-
end
|
1
|
+
module PkiExpress
|
2
|
+
class PadesCertificationLevel < Enum
|
3
|
+
NOT_CERTIFIED = 'not-certified'
|
4
|
+
CERTIFIED_FORM_FILLING = 'certified-form-filling'
|
5
|
+
CERTIFIED_FORM_FILLING_AND_ANNOTATIONS = 'certified-form-filling-annotations'
|
6
|
+
CERTIFIED_NO_CHANGES_ALLOWED = 'certified-no-changes-allowed'
|
7
|
+
end
|
8
8
|
end
|
@@ -1,9 +1,9 @@
|
|
1
|
-
module PkiExpress
|
2
|
-
class PadesHorizontalAlign < Enum
|
3
|
-
LEFT = 'Left'
|
4
|
-
CENTER = 'Center'
|
5
|
-
RIGHT = 'Right'
|
6
|
-
|
7
|
-
VALUES = [ LEFT, CENTER, RIGHT ]
|
8
|
-
end
|
9
|
-
end
|
1
|
+
module PkiExpress
|
2
|
+
class PadesHorizontalAlign < Enum
|
3
|
+
LEFT = 'Left'
|
4
|
+
CENTER = 'Center'
|
5
|
+
RIGHT = 'Right'
|
6
|
+
|
7
|
+
VALUES = [ LEFT, CENTER, RIGHT ]
|
8
|
+
end
|
9
|
+
end
|
@@ -1,8 +1,8 @@
|
|
1
|
-
module PkiExpress
|
2
|
-
class PadesMeasurementUnits < Enum
|
3
|
-
CENTIMETERS = 'Centimeters'
|
4
|
-
PDF_POINTS = 'PdfPoints'
|
5
|
-
|
6
|
-
VALUES = [ CENTIMETERS, PDF_POINTS ]
|
7
|
-
end
|
8
|
-
end
|
1
|
+
module PkiExpress
|
2
|
+
class PadesMeasurementUnits < Enum
|
3
|
+
CENTIMETERS = 'Centimeters'
|
4
|
+
PDF_POINTS = 'PdfPoints'
|
5
|
+
|
6
|
+
VALUES = [ CENTIMETERS, PDF_POINTS ]
|
7
|
+
end
|
8
|
+
end
|
@@ -1,51 +1,51 @@
|
|
1
|
-
module PkiExpress
|
2
|
-
class PadesPageOptimization
|
3
|
-
attr_reader :custom_paper_size, :paper_size, :page_orientation
|
4
|
-
|
5
|
-
def initialize(paper_size=nil, custom_paper_size=nil)
|
6
|
-
@page_orientation = PadesPageOrientation::AUTO
|
7
|
-
if custom_paper_size
|
8
|
-
@paper_size = PadesPaperSize::CUSTOM
|
9
|
-
@custom_paper_size = custom_paper_size
|
10
|
-
else
|
11
|
-
@paper_size = paper_size
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
def custom_paper_size=(value)
|
16
|
-
@custom_paper_size = value
|
17
|
-
@paper_size = PadesPaperSize::CUSTOM
|
18
|
-
end
|
19
|
-
|
20
|
-
def paper_size=(value)
|
21
|
-
unless PadesPaperSize.contains?(value)
|
22
|
-
raise 'The provided "paper_size" is not valid. Try using PadesPaperSize constants'
|
23
|
-
end
|
24
|
-
@paper_size = value
|
25
|
-
end
|
26
|
-
|
27
|
-
def page_orientation=(value)
|
28
|
-
unless PadesPageOrientation.contains?(value)
|
29
|
-
raise 'The provided "page_orientation" is not valid. Try using PadesPageOrientation constants'
|
30
|
-
end
|
31
|
-
@page_orientation = value
|
32
|
-
end
|
33
|
-
|
34
|
-
def to_model
|
35
|
-
custom_paper_size = nil
|
36
|
-
if @paper_size == PadesPaperSize::CUSTOM
|
37
|
-
if @custom_paper_size
|
38
|
-
custom_paper_size = @custom_paper_size&.to_model
|
39
|
-
else
|
40
|
-
raise 'paper_size is set to :custom but no custom_paper_size was set'
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
{
|
45
|
-
'pageSize': @paper_size,
|
46
|
-
'customPageSize': custom_paper_size,
|
47
|
-
'pageOrientation': @page_orientation,
|
48
|
-
}
|
49
|
-
end
|
50
|
-
end
|
1
|
+
module PkiExpress
|
2
|
+
class PadesPageOptimization
|
3
|
+
attr_reader :custom_paper_size, :paper_size, :page_orientation
|
4
|
+
|
5
|
+
def initialize(paper_size=nil, custom_paper_size=nil)
|
6
|
+
@page_orientation = PadesPageOrientation::AUTO
|
7
|
+
if custom_paper_size
|
8
|
+
@paper_size = PadesPaperSize::CUSTOM
|
9
|
+
@custom_paper_size = custom_paper_size
|
10
|
+
else
|
11
|
+
@paper_size = paper_size
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def custom_paper_size=(value)
|
16
|
+
@custom_paper_size = value
|
17
|
+
@paper_size = PadesPaperSize::CUSTOM
|
18
|
+
end
|
19
|
+
|
20
|
+
def paper_size=(value)
|
21
|
+
unless PadesPaperSize.contains?(value)
|
22
|
+
raise 'The provided "paper_size" is not valid. Try using PadesPaperSize constants'
|
23
|
+
end
|
24
|
+
@paper_size = value
|
25
|
+
end
|
26
|
+
|
27
|
+
def page_orientation=(value)
|
28
|
+
unless PadesPageOrientation.contains?(value)
|
29
|
+
raise 'The provided "page_orientation" is not valid. Try using PadesPageOrientation constants'
|
30
|
+
end
|
31
|
+
@page_orientation = value
|
32
|
+
end
|
33
|
+
|
34
|
+
def to_model
|
35
|
+
custom_paper_size = nil
|
36
|
+
if @paper_size == PadesPaperSize::CUSTOM
|
37
|
+
if @custom_paper_size
|
38
|
+
custom_paper_size = @custom_paper_size&.to_model
|
39
|
+
else
|
40
|
+
raise 'paper_size is set to :custom but no custom_paper_size was set'
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
{
|
45
|
+
'pageSize': @paper_size,
|
46
|
+
'customPageSize': custom_paper_size,
|
47
|
+
'pageOrientation': @page_orientation,
|
48
|
+
}
|
49
|
+
end
|
50
|
+
end
|
51
51
|
end
|
@@ -1,9 +1,9 @@
|
|
1
|
-
module PkiExpress
|
2
|
-
class PadesPageOrientation < Enum
|
3
|
-
AUTO = 'Auto'
|
4
|
-
PORTRAIT = 'Portrait'
|
5
|
-
LANDSCAPE = 'Landscape'
|
6
|
-
|
7
|
-
VALUES = [ AUTO, PORTRAIT, LANDSCAPE ]
|
8
|
-
end
|
9
|
-
end
|
1
|
+
module PkiExpress
|
2
|
+
class PadesPageOrientation < Enum
|
3
|
+
AUTO = 'Auto'
|
4
|
+
PORTRAIT = 'Portrait'
|
5
|
+
LANDSCAPE = 'Landscape'
|
6
|
+
|
7
|
+
VALUES = [ AUTO, PORTRAIT, LANDSCAPE ]
|
8
|
+
end
|
9
|
+
end
|
@@ -1,21 +1,21 @@
|
|
1
|
-
module PkiExpress
|
2
|
-
class PadesPaperSize < Enum
|
3
|
-
CUSTOM = 'Custom'
|
4
|
-
A0 = 'A0'
|
5
|
-
A1 = 'A1'
|
6
|
-
A2 = 'A2'
|
7
|
-
A3 = 'A3'
|
8
|
-
A4 = 'A4'
|
9
|
-
A5 = 'A5'
|
10
|
-
A6 = 'A6'
|
11
|
-
A7 = 'A7'
|
12
|
-
A8 = 'A8'
|
13
|
-
LETTER = 'Letter'
|
14
|
-
LEGAL = 'Legal'
|
15
|
-
LEDGER = 'Ledger'
|
16
|
-
|
17
|
-
VALUES = [
|
18
|
-
CUSTOM, A0, A1, A2, A3, A4, A5, A6, A7, A8, LETTER, LEGAL, LEDGER
|
19
|
-
]
|
20
|
-
end
|
21
|
-
end
|
1
|
+
module PkiExpress
|
2
|
+
class PadesPaperSize < Enum
|
3
|
+
CUSTOM = 'Custom'
|
4
|
+
A0 = 'A0'
|
5
|
+
A1 = 'A1'
|
6
|
+
A2 = 'A2'
|
7
|
+
A3 = 'A3'
|
8
|
+
A4 = 'A4'
|
9
|
+
A5 = 'A5'
|
10
|
+
A6 = 'A6'
|
11
|
+
A7 = 'A7'
|
12
|
+
A8 = 'A8'
|
13
|
+
LETTER = 'Letter'
|
14
|
+
LEGAL = 'Legal'
|
15
|
+
LEDGER = 'Ledger'
|
16
|
+
|
17
|
+
VALUES = [
|
18
|
+
CUSTOM, A0, A1, A2, A3, A4, A5, A6, A7, A8, LETTER, LEGAL, LEDGER
|
19
|
+
]
|
20
|
+
end
|
21
|
+
end
|
@@ -1,17 +1,17 @@
|
|
1
|
-
module PkiExpress
|
2
|
-
class PadesSignature
|
3
|
-
attr_accessor :signers
|
4
|
-
|
5
|
-
def initialize(model)
|
6
|
-
@signers = []
|
7
|
-
|
8
|
-
unless model.nil?
|
9
|
-
signers = model.fetch(:signers)
|
10
|
-
if signers
|
11
|
-
@signers = signers.map { |s| PadesSignerInfo.new(s) }
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
end
|
1
|
+
module PkiExpress
|
2
|
+
class PadesSignature
|
3
|
+
attr_accessor :signers
|
4
|
+
|
5
|
+
def initialize(model)
|
6
|
+
@signers = []
|
7
|
+
|
8
|
+
unless model.nil?
|
9
|
+
signers = model.fetch(:signers)
|
10
|
+
if signers
|
11
|
+
@signers = signers.map { |s| PadesSignerInfo.new(s) }
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
17
|
end
|
@@ -1,31 +1,31 @@
|
|
1
|
-
module PkiExpress
|
2
|
-
class PadesSignatureExplorer < SignatureExplorer
|
3
|
-
|
4
|
-
def initialize(config=PkiExpressConfig.new)
|
5
|
-
super(config)
|
6
|
-
end
|
7
|
-
|
8
|
-
def open()
|
9
|
-
if @signature_file_path.nil?
|
10
|
-
raise 'The signature file was not set'
|
11
|
-
end
|
12
|
-
|
13
|
-
args = [@signature_file_path]
|
14
|
-
|
15
|
-
# Verify and add common options
|
16
|
-
verify_and_add_common_options(args)
|
17
|
-
|
18
|
-
# This operation can only be used on versions greater
|
19
|
-
# than 1.3 of the PKI Express.
|
20
|
-
@version_manager.require_version('1.3')
|
21
|
-
|
22
|
-
# Invoke command.
|
23
|
-
result = invoke(Commands::OPEN_PADES, args)
|
24
|
-
|
25
|
-
# Parse output and return model.
|
26
|
-
model = parse_output(result)
|
27
|
-
PadesSignature.new(model)
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
1
|
+
module PkiExpress
|
2
|
+
class PadesSignatureExplorer < SignatureExplorer
|
3
|
+
|
4
|
+
def initialize(config=PkiExpressConfig.new)
|
5
|
+
super(config)
|
6
|
+
end
|
7
|
+
|
8
|
+
def open()
|
9
|
+
if @signature_file_path.nil?
|
10
|
+
raise 'The signature file was not set'
|
11
|
+
end
|
12
|
+
|
13
|
+
args = [@signature_file_path]
|
14
|
+
|
15
|
+
# Verify and add common options
|
16
|
+
verify_and_add_common_options(args)
|
17
|
+
|
18
|
+
# This operation can only be used on versions greater
|
19
|
+
# than 1.3 of the PKI Express.
|
20
|
+
@version_manager.require_version('1.3')
|
21
|
+
|
22
|
+
# Invoke command.
|
23
|
+
result = invoke(Commands::OPEN_PADES, args)
|
24
|
+
|
25
|
+
# Parse output and return model.
|
26
|
+
model = parse_output(result)
|
27
|
+
PadesSignature.new(model)
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
31
|
end
|