sepafm 0.1.2 → 0.1.3
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.
- checksums.yaml +4 -4
- data/lib/sepa/application_request.rb +29 -13
- data/lib/sepa/attribute_checks.rb +29 -29
- data/lib/sepa/banks/danske/danske_response.rb +49 -10
- data/lib/sepa/banks/danske/soap_danske.rb +7 -6
- data/lib/sepa/banks/nordea/nordea_response.rb +2 -4
- data/lib/sepa/client.rb +31 -11
- data/lib/sepa/error_messages.rb +2 -1
- data/lib/sepa/response.rb +18 -3
- data/lib/sepa/soap_builder.rb +52 -21
- data/lib/sepa/utilities.rb +4 -0
- data/lib/sepa/version.rb +1 -1
- data/lib/sepa/wsdl/wsdl_danske.xml +1 -1
- data/lib/sepa/xml_templates/application_request/download_file.xml +0 -1
- data/lib/sepa/xml_templates/application_request/download_file_list.xml +0 -1
- data/lib/sepa/xml_templates/application_request/upload_file.xml +0 -1
- data/lib/sepa/xml_templates/soap/download_file_list.xml +1 -1
- data/lib/sepa/xml_templates/soap/header.xml +6 -5
- data/lib/sepafm.rb +1 -0
- data/readme.md +3 -5
- data/sepafm.gemspec +5 -5
- data/test/sepa/banks/danske/danske_cert_response_test.rb +6 -6
- data/test/sepa/banks/danske/danske_cert_soap_builder_test.rb +16 -17
- data/test/sepa/banks/danske/danske_certificate_application_request_test.rb +16 -0
- data/test/sepa/banks/danske/danske_generic_soap_builder_test.rb +39 -43
- data/test/sepa/banks/nordea/nordea_application_request_test.rb +38 -18
- data/test/sepa/banks/nordea/nordea_cert_application_request_test.rb +12 -11
- data/test/sepa/banks/nordea/nordea_cert_request_soap_builder_test.rb +10 -10
- data/test/sepa/banks/nordea/nordea_generic_soap_builder_test.rb +14 -18
- data/test/sepa/banks/nordea/nordea_response_test.rb +1 -1
- data/test/sepa/client_test.rb +38 -25
- data/test/sepa/fixtures.rb +52 -22
- data/test/sepa/sepa_test.rb +1 -1
- metadata +27 -25
@@ -3,34 +3,34 @@ require 'test_helper'
|
|
3
3
|
class NordeaCertRequestSoapBuilderTest < ActiveSupport::TestCase
|
4
4
|
|
5
5
|
def setup
|
6
|
-
@
|
7
|
-
@certrequest = Sepa::SoapBuilder.new(@
|
6
|
+
@nordea_get_certificate_params = nordea_get_certificate_params
|
7
|
+
@certrequest = Sepa::SoapBuilder.new(@nordea_get_certificate_params)
|
8
8
|
@xml = Nokogiri::XML(@certrequest.to_xml)
|
9
9
|
end
|
10
10
|
|
11
11
|
def test_should_initialize_with_proper_params
|
12
|
-
assert Sepa::SoapBuilder.new(@
|
12
|
+
assert Sepa::SoapBuilder.new(@nordea_get_certificate_params)
|
13
13
|
end
|
14
14
|
|
15
15
|
def test_should_get_error_if_command_missing
|
16
|
-
@
|
16
|
+
@nordea_get_certificate_params.delete(:command)
|
17
17
|
|
18
18
|
assert_raises(ArgumentError) do
|
19
|
-
Sepa::SoapBuilder.new(@
|
19
|
+
Sepa::SoapBuilder.new(@nordea_get_certificate_params)
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
23
|
def test_should_load_correct_template_with_get_certificate
|
24
|
-
@
|
25
|
-
xml = Nokogiri::XML(Sepa::SoapBuilder.new(@
|
24
|
+
@nordea_get_certificate_params[:command] = :get_certificate
|
25
|
+
xml = Nokogiri::XML(Sepa::SoapBuilder.new(@nordea_get_certificate_params).to_xml)
|
26
26
|
|
27
27
|
assert xml.xpath('//cer:getCertificatein', 'cer' => 'http://bxd.fi/CertificateService').first
|
28
28
|
end
|
29
29
|
|
30
30
|
def test_should_raise_error_if_command_not_correct
|
31
|
-
@
|
31
|
+
@nordea_get_certificate_params[:command] = :wrong_command
|
32
32
|
assert_raises(ArgumentError) do
|
33
|
-
soap = Sepa::SoapBuilder.new(@
|
33
|
+
soap = Sepa::SoapBuilder.new(@nordea_get_certificate_params).to_xml
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
@@ -52,7 +52,7 @@ class NordeaCertRequestSoapBuilderTest < ActiveSupport::TestCase
|
|
52
52
|
ar_doc = Nokogiri::XML(decode(ar_node.content))
|
53
53
|
|
54
54
|
assert ar_doc.respond_to?(:canonicalize)
|
55
|
-
assert_equal ar_doc.at_css("CustomerId").content, @
|
55
|
+
assert_equal ar_doc.at_css("CustomerId").content, @nordea_get_certificate_params[:customer_id]
|
56
56
|
end
|
57
57
|
|
58
58
|
def test_should_validate_against_schema
|
@@ -7,8 +7,8 @@ class NordeaGenericSoapBuilderTest < ActiveSupport::TestCase
|
|
7
7
|
|
8
8
|
# Convert the keys here since the conversion is usually done by the client and these tests
|
9
9
|
# bypass the client
|
10
|
-
@nordea_generic_params[:
|
11
|
-
@nordea_generic_params[:
|
10
|
+
@nordea_generic_params[:signing_private_key] = rsa_key @nordea_generic_params[:signing_private_key]
|
11
|
+
@nordea_generic_params[:signing_certificate] = OpenSSL::X509::Certificate.new @nordea_generic_params[:signing_certificate]
|
12
12
|
|
13
13
|
@soap_request = Sepa::SoapBuilder.new(@nordea_generic_params)
|
14
14
|
@doc = Nokogiri::XML(@soap_request.to_xml)
|
@@ -133,26 +133,24 @@ class NordeaGenericSoapBuilderTest < ActiveSupport::TestCase
|
|
133
133
|
def test_cert_is_added_correctly
|
134
134
|
wsse = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd'
|
135
135
|
|
136
|
-
|
136
|
+
added_certificate = @doc.xpath(
|
137
137
|
"//wsse:BinarySecurityToken", 'wsse' => wsse
|
138
138
|
).first.content
|
139
139
|
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
140
|
+
actual_certificate = @nordea_generic_params.fetch(:signing_certificate).to_s
|
141
|
+
actual_certificate = actual_certificate.split('-----BEGIN CERTIFICATE-----')[1]
|
142
|
+
actual_certificate = actual_certificate.split('-----END CERTIFICATE-----')[0]
|
143
|
+
actual_certificate = actual_certificate.gsub(/\s+/, "")
|
144
144
|
|
145
|
-
assert_equal
|
145
|
+
assert_equal added_certificate, actual_certificate
|
146
146
|
end
|
147
147
|
|
148
148
|
def test_body_digest_is_calculated_correctly
|
149
149
|
sha1 = OpenSSL::Digest::SHA1.new
|
150
150
|
|
151
151
|
# Digest which is calculated from the body and added to the header
|
152
|
-
|
153
|
-
|
154
|
-
'dsig' => 'http://www.w3.org/2000/09/xmldsig#'
|
155
|
-
).first.content
|
152
|
+
reference_node = @doc.css('dsig|Reference')[1]
|
153
|
+
added_digest = reference_node.at('dsig|DigestValue').content
|
156
154
|
|
157
155
|
body_node = @doc.xpath(
|
158
156
|
"//env:Body", 'env' => 'http://schemas.xmlsoap.org/soap/envelope/'
|
@@ -195,10 +193,8 @@ class NordeaGenericSoapBuilderTest < ActiveSupport::TestCase
|
|
195
193
|
def test_header_timestamps_digest_is_calculated_correctly
|
196
194
|
sha1 = OpenSSL::Digest::SHA1.new
|
197
195
|
|
198
|
-
|
199
|
-
|
200
|
-
'dsig' => 'http://www.w3.org/2000/09/xmldsig#'
|
201
|
-
).first.content
|
196
|
+
reference_node = @doc.css('dsig|Reference')[0]
|
197
|
+
added_digest = reference_node.at('dsig|DigestValue').content
|
202
198
|
|
203
199
|
wsu = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd'
|
204
200
|
|
@@ -218,7 +214,7 @@ class NordeaGenericSoapBuilderTest < ActiveSupport::TestCase
|
|
218
214
|
|
219
215
|
def test_signature_is_calculated_correctly
|
220
216
|
sha1 = OpenSSL::Digest::SHA1.new
|
221
|
-
|
217
|
+
signing_private_key = @nordea_generic_params.fetch(:signing_private_key)
|
222
218
|
|
223
219
|
added_signature = @doc.xpath(
|
224
220
|
"//dsig:SignatureValue", 'dsig' => 'http://www.w3.org/2000/09/xmldsig#'
|
@@ -234,7 +230,7 @@ class NordeaGenericSoapBuilderTest < ActiveSupport::TestCase
|
|
234
230
|
)
|
235
231
|
|
236
232
|
actual_signature = encode(
|
237
|
-
|
233
|
+
signing_private_key.sign(sha1, signed_info_node)
|
238
234
|
).gsub(/\s+/, "")
|
239
235
|
|
240
236
|
assert_equal actual_signature, added_signature
|
@@ -131,7 +131,7 @@ class NordeaResponseTest < ActiveSupport::TestCase
|
|
131
131
|
|
132
132
|
test 'certificate can be extracted from get certificate response' do
|
133
133
|
assert_nothing_raised do
|
134
|
-
OpenSSL::X509::Certificate.new
|
134
|
+
OpenSSL::X509::Certificate.new @gc.own_signing_certificate
|
135
135
|
end
|
136
136
|
end
|
137
137
|
|
data/test/sepa/client_test.rb
CHANGED
@@ -7,8 +7,9 @@ class ClientTest < ActiveSupport::TestCase
|
|
7
7
|
|
8
8
|
# Get params hashes from fixtures for different banks and for different request types
|
9
9
|
@nordea_generic_params = nordea_generic_params
|
10
|
-
@
|
11
|
-
@
|
10
|
+
@nordea_get_certificate_params = nordea_get_certificate_params
|
11
|
+
@danske_create_certificate_params = danske_create_certificate_params
|
12
|
+
@danske_generic_params = danske_generic_params
|
12
13
|
|
13
14
|
# Namespaces
|
14
15
|
@cor = 'http://bxd.fi/CorporateFileService'
|
@@ -28,7 +29,7 @@ class ClientTest < ActiveSupport::TestCase
|
|
28
29
|
end
|
29
30
|
|
30
31
|
test "should be valid with required params" do
|
31
|
-
sepa = Sepa::Client.new @
|
32
|
+
sepa = Sepa::Client.new @danske_create_certificate_params
|
32
33
|
assert sepa.valid?, sepa.errors.messages
|
33
34
|
end
|
34
35
|
|
@@ -38,10 +39,10 @@ class ClientTest < ActiveSupport::TestCase
|
|
38
39
|
refute sepa.valid?, sepa.errors.messages
|
39
40
|
end
|
40
41
|
|
41
|
-
test
|
42
|
-
@
|
43
|
-
@
|
44
|
-
sepa = Sepa::Client.new @
|
42
|
+
test 'commands differ by bank' do
|
43
|
+
@nordea_get_certificate_params[:bank] = :danske
|
44
|
+
@nordea_get_certificate_params[:command] = :get_certificate
|
45
|
+
sepa = Sepa::Client.new @nordea_get_certificate_params
|
45
46
|
refute sepa.valid?, sepa.errors.messages
|
46
47
|
end
|
47
48
|
|
@@ -49,7 +50,7 @@ class ClientTest < ActiveSupport::TestCase
|
|
49
50
|
wrong_pks = ['Im not a key', :leppakerttu, nil]
|
50
51
|
|
51
52
|
wrong_pks.each do |wrong_pk|
|
52
|
-
@nordea_generic_params[:
|
53
|
+
@nordea_generic_params[:signing_private_key] = wrong_pk
|
53
54
|
sepa = Sepa::Client.new @nordea_generic_params
|
54
55
|
refute sepa.valid?, sepa.errors.messages
|
55
56
|
end
|
@@ -59,7 +60,7 @@ class ClientTest < ActiveSupport::TestCase
|
|
59
60
|
wrong_certs = ['Im not a cert', 99, :leppakerttu, nil]
|
60
61
|
|
61
62
|
wrong_certs.each do |wrong_cert|
|
62
|
-
@nordea_generic_params[:
|
63
|
+
@nordea_generic_params[:signing_certificate] = wrong_cert
|
63
64
|
sepa = Sepa::Client.new @nordea_generic_params
|
64
65
|
refute sepa.valid?, sepa.errors.messages
|
65
66
|
end
|
@@ -77,7 +78,7 @@ class ClientTest < ActiveSupport::TestCase
|
|
77
78
|
end
|
78
79
|
|
79
80
|
test "environment is checked" do
|
80
|
-
wrong_envs = ["not proper",
|
81
|
+
wrong_envs = ["not proper", :protuction]
|
81
82
|
|
82
83
|
wrong_envs.each do |wrong_env|
|
83
84
|
@nordea_generic_params[:environment] = wrong_env
|
@@ -90,7 +91,7 @@ class ClientTest < ActiveSupport::TestCase
|
|
90
91
|
test 'environment defaults to production' do
|
91
92
|
@nordea_generic_params.delete :environment
|
92
93
|
sepa = Sepa::Client.new @nordea_generic_params
|
93
|
-
assert sepa.environment ==
|
94
|
+
assert sepa.environment == :production
|
94
95
|
assert sepa.valid?
|
95
96
|
end
|
96
97
|
|
@@ -211,11 +212,11 @@ class ClientTest < ActiveSupport::TestCase
|
|
211
212
|
end
|
212
213
|
|
213
214
|
test "should_initialize_with_proper_cert_params" do
|
214
|
-
assert Sepa::Client.new(@
|
215
|
+
assert Sepa::Client.new(@nordea_get_certificate_params)
|
215
216
|
end
|
216
217
|
|
217
218
|
test "should_send_proper_request_with_get_certificate" do
|
218
|
-
client = Sepa::Client.new(@
|
219
|
+
client = Sepa::Client.new(@nordea_get_certificate_params)
|
219
220
|
response = client.send_request
|
220
221
|
|
221
222
|
assert response.doc.at_css('cer|getCertificatein')
|
@@ -227,37 +228,37 @@ class ClientTest < ActiveSupport::TestCase
|
|
227
228
|
end
|
228
229
|
|
229
230
|
test "should_check_signing_cert_request_with_create_certificate" do
|
230
|
-
@
|
231
|
-
@
|
231
|
+
@danske_create_certificate_params[:command] = :create_certificate
|
232
|
+
@danske_create_certificate_params.delete(:signing_csr)
|
232
233
|
|
233
|
-
sepa = Sepa::Client.new(@
|
234
|
+
sepa = Sepa::Client.new(@danske_create_certificate_params)
|
234
235
|
refute sepa.valid?
|
235
236
|
assert_includes sepa.errors.messages.to_s, SIGNING_CERT_REQUEST_ERROR_MESSAGE
|
236
237
|
end
|
237
238
|
|
238
239
|
test "should_check_encryption_cert_request_with_create_certificate" do
|
239
|
-
@
|
240
|
-
@
|
240
|
+
@danske_create_certificate_params[:command] = :create_certificate
|
241
|
+
@danske_create_certificate_params.delete(:encryption_csr)
|
241
242
|
|
242
|
-
sepa = Sepa::Client.new(@
|
243
|
+
sepa = Sepa::Client.new(@danske_create_certificate_params)
|
243
244
|
refute sepa.valid?
|
244
245
|
assert_includes sepa.errors.messages.to_s, ENCRYPTION_CERT_REQUEST_ERROR_MESSAGE
|
245
246
|
end
|
246
247
|
|
247
248
|
test "should_check_pin_with_create_certificate" do
|
248
|
-
@
|
249
|
-
@
|
249
|
+
@danske_create_certificate_params[:command] = :create_certificate
|
250
|
+
@danske_create_certificate_params.delete(:pin)
|
250
251
|
|
251
|
-
sepa = Sepa::Client.new(@
|
252
|
+
sepa = Sepa::Client.new(@danske_create_certificate_params)
|
252
253
|
refute sepa.valid?
|
253
254
|
assert_includes sepa.errors.messages.to_s, PIN_ERROR_MESSAGE
|
254
255
|
end
|
255
256
|
|
256
257
|
test "should_check_encryption_cert_with_create_certificate" do
|
257
|
-
@
|
258
|
-
@
|
258
|
+
@danske_create_certificate_params[:command] = :create_certificate
|
259
|
+
@danske_create_certificate_params.delete(:encryption_certificate)
|
259
260
|
|
260
|
-
sepa = Sepa::Client.new(@
|
261
|
+
sepa = Sepa::Client.new(@danske_create_certificate_params)
|
261
262
|
refute sepa.valid?
|
262
263
|
assert_includes sepa.errors.messages.to_s, ENCRYPTION_CERT_ERROR_MESSAGE
|
263
264
|
end
|
@@ -285,4 +286,16 @@ class ClientTest < ActiveSupport::TestCase
|
|
285
286
|
Savon.observers.pop
|
286
287
|
end
|
287
288
|
|
289
|
+
test 'encryption private key is checked when bank is danske' do
|
290
|
+
@danske_generic_params.delete :encryption_private_key
|
291
|
+
client = Sepa::Client.new @danske_generic_params
|
292
|
+
refute client.valid?
|
293
|
+
end
|
294
|
+
|
295
|
+
test 'encryption certificate is checked when bank is danske' do
|
296
|
+
@danske_generic_params.delete :encryption_certificate
|
297
|
+
client = Sepa::Client.new @danske_generic_params
|
298
|
+
refute client.valid?
|
299
|
+
end
|
300
|
+
|
288
301
|
end
|
data/test/sepa/fixtures.rb
CHANGED
@@ -1,5 +1,38 @@
|
|
1
|
+
def danske_generic_params
|
2
|
+
keys_path = "#{ROOT_PATH}/test/sepa/banks/danske/keys"
|
3
|
+
|
4
|
+
signing_private_key_path = "#{keys_path}/signing_key.pem"
|
5
|
+
signing_private_key = File.read signing_private_key_path
|
6
|
+
|
7
|
+
encryption_private_key_path = "#{keys_path}/enc_private_key.pem"
|
8
|
+
encryption_private_key = File.read encryption_private_key_path
|
9
|
+
|
10
|
+
signing_certificate_path = "#{keys_path}/own_signing_cert.pem"
|
11
|
+
signing_certificate = File.read signing_certificate_path
|
12
|
+
|
13
|
+
encryption_certificate_path = "#{keys_path}/own_enc_cert.pem"
|
14
|
+
encryption_certificate = File.read encryption_certificate_path
|
15
|
+
|
16
|
+
{
|
17
|
+
bank: :danske,
|
18
|
+
signing_private_key: signing_private_key,
|
19
|
+
encryption_private_key: encryption_private_key,
|
20
|
+
command: :upload_file,
|
21
|
+
customer_id: '360817',
|
22
|
+
environment: 'test',
|
23
|
+
encryption_certificate: encryption_certificate,
|
24
|
+
signing_certificate: signing_certificate,
|
25
|
+
language: 'FI',
|
26
|
+
status: 'ALL',
|
27
|
+
target_id: 'DABAFIHH',
|
28
|
+
file_type: 'pain.001.001.02',
|
29
|
+
content: encode('kissa'),
|
30
|
+
file_reference: '11111111A12006030329501800000014',
|
31
|
+
}
|
32
|
+
end
|
33
|
+
|
1
34
|
def nordea_generic_params
|
2
|
-
|
35
|
+
signing_certificate = "-----BEGIN CERTIFICATE-----
|
3
36
|
MIIDwTCCAqmgAwIBAgIEAX1JuTANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJT
|
4
37
|
RTEeMBwGA1UEChMVTm9yZGVhIEJhbmsgQUIgKHB1YmwpMR8wHQYDVQQDExZOb3Jk
|
5
38
|
ZWEgQ29ycG9yYXRlIENBIDAxMRQwEgYDVQQFEws1MTY0MDYtMDEyMDAeFw0xMzA1
|
@@ -22,7 +55,7 @@ ydowAnqS9h9aQ6gedwbOdtkWmwKMDVXU6aRz9Gvk+JeYJhtpuP3OPNGbbC5L7NVd
|
|
22
55
|
no+B6AtwxmG3ozd+mPcMeVuz6kKLAmQyIiBSrRNa5OrTkq/CUzxO9WUgTnm/Sri7
|
23
56
|
zReR6mU=
|
24
57
|
-----END CERTIFICATE-----"
|
25
|
-
|
58
|
+
signing_private_key = "-----BEGIN PRIVATE KEY-----
|
26
59
|
MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMLRRHwLWybhs0MM
|
27
60
|
EbpmZL2IdgYxmFbADFHoirTp3t22UnorHwqvk16i9YCPS6H8ngEPSP7A5urS/NMq
|
28
61
|
w+YmklKlZugO9/TLJqVv4smXFX+5rPMQDedRElIDempMGQlPaR+tp4CQ49oFLJLW
|
@@ -41,11 +74,11 @@ Sn4Uz7Zjk3UrBIbMYEv0u2mcCypwsb0nGE5/gzDPjGE9cxWW+rXARIs+sNQVClnh
|
|
41
74
|
|
42
75
|
{
|
43
76
|
bank: :nordea,
|
44
|
-
|
45
|
-
|
77
|
+
signing_private_key: signing_private_key,
|
78
|
+
signing_certificate: signing_certificate,
|
46
79
|
command: :download_file,
|
47
80
|
customer_id: '11111111',
|
48
|
-
environment: '
|
81
|
+
environment: 'production',
|
49
82
|
status: 'NEW',
|
50
83
|
target_id: '11111111A1',
|
51
84
|
language: 'FI',
|
@@ -55,8 +88,8 @@ Sn4Uz7Zjk3UrBIbMYEv0u2mcCypwsb0nGE5/gzDPjGE9cxWW+rXARIs+sNQVClnh
|
|
55
88
|
}
|
56
89
|
end
|
57
90
|
|
58
|
-
def
|
59
|
-
|
91
|
+
def nordea_get_certificate_params
|
92
|
+
signing_csr = "-----BEGIN CERTIFICATE REQUEST-----
|
60
93
|
MIIBczCB3QIBADA0MRIwEAYDVQQDEwlEZXZsYWIgT3kxETAPBgNVBAUTCDExMTEx
|
61
94
|
MTExMQswCQYDVQQGEwJGSTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAo9wU
|
62
95
|
c2Ys5hSso4nEanbc+RIhL71aS6GBGiWAegXjhlyb6dpwigrZBFPw4u6UZV/Vq7Y7
|
@@ -71,10 +104,9 @@ jo2ekdSDdw8qxKyxj1piv8oYzMd4fCjCpL+WDZtq7mdLErVZ92gH
|
|
71
104
|
bank: :nordea,
|
72
105
|
command: :get_certificate,
|
73
106
|
customer_id: '11111111',
|
74
|
-
environment: '
|
75
|
-
|
76
|
-
pin: '1234567890'
|
77
|
-
service: 'service'
|
107
|
+
environment: 'test',
|
108
|
+
signing_csr: signing_csr,
|
109
|
+
pin: '1234567890'
|
78
110
|
}
|
79
111
|
end
|
80
112
|
|
@@ -149,8 +181,7 @@ swU8X6yvbtqF+q4aAKPA6ZydnGZFQSoSzNJtcF28T1ItxEHN3+xyQqXpTgFviiuL
|
|
149
181
|
bank: :danske,
|
150
182
|
command: :create_certificate,
|
151
183
|
customer_id: 'ABC123',
|
152
|
-
environment: '
|
153
|
-
key_generator_type: 'software',
|
184
|
+
environment: 'test',
|
154
185
|
encryption_cert_pkcs10: encryptpkcs,
|
155
186
|
signing_cert_pkcs10: signingpkcs,
|
156
187
|
enc_cert: danskebankencrypt,
|
@@ -163,8 +194,8 @@ swU8X6yvbtqF+q4aAKPA6ZydnGZFQSoSzNJtcF28T1ItxEHN3+xyQqXpTgFviiuL
|
|
163
194
|
}
|
164
195
|
end
|
165
196
|
|
166
|
-
def
|
167
|
-
|
197
|
+
def danske_create_certificate_params
|
198
|
+
encryption_csr = "-----BEGIN CERTIFICATE REQUEST-----
|
168
199
|
MIICdzCCAV8CAQEwMjEPMA0GA1UEAwwGaGVtdWxpMR8wHQYKCZImiZPyLGQBGRYP
|
169
200
|
bnV1c2thbXVpa2t1bmVuMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
|
170
201
|
5aHmVXcfogDqJ3kUfK8ARzdkQ/dm9j4rHbGNh4xmlKCMUwCmmo2LOKMKvviD7qwz
|
@@ -181,7 +212,7 @@ db1f0XsYTW1NUYoL8O8uxzoNcysyBW/VGP01e2LXB8whWn4xtDtaLpyt/v4ow04V
|
|
181
212
|
9v3lfL5ZDl1gIEY=
|
182
213
|
-----END CERTIFICATE REQUEST-----"
|
183
214
|
|
184
|
-
|
215
|
+
signing_csr = "-----BEGIN CERTIFICATE REQUEST-----
|
185
216
|
MIICdzCCAV8CAQEwMjEPMA0GA1UEAwwGaGVtdWxpMR8wHQYKCZImiZPyLGQBGRYP
|
186
217
|
bnV1c2thbXVpa2t1bmVuMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
|
187
218
|
y4zgajeMzFrBR4zsJ50qo4fxHWfjdCmI5nwLbKqKhSKB15JBdRmh/Wz0Gi1qOvER
|
@@ -198,17 +229,16 @@ bx1hmt5Eihy1lORQR4PE4xaOP5TCqtxP0+snuGqRuBHhrDk4mowWEJbvFWlONT5H
|
|
198
229
|
CsajqZag/Aoxv/Y=
|
199
230
|
-----END CERTIFICATE REQUEST-----"
|
200
231
|
|
201
|
-
|
232
|
+
encryption_certificate = File.read "#{DANSKE_TEST_KEYS_PATH}own_enc_cert.pem"
|
202
233
|
|
203
234
|
{
|
204
235
|
bank: :danske,
|
205
|
-
|
236
|
+
encryption_certificate: encryption_certificate,
|
206
237
|
command: :create_certificate,
|
207
238
|
customer_id: '360817',
|
208
|
-
environment: '
|
209
|
-
|
210
|
-
|
211
|
-
signing_cert_pkcs10: signing_cert_request,
|
239
|
+
environment: 'test',
|
240
|
+
encryption_csr: encryption_csr,
|
241
|
+
signing_csr: signing_csr,
|
212
242
|
pin: '1234',
|
213
243
|
}
|
214
244
|
end
|
data/test/sepa/sepa_test.rb
CHANGED
metadata
CHANGED
@@ -1,31 +1,31 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sepafm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joni Kanerva
|
8
8
|
- Mika Myllynen
|
9
|
-
- Tommi
|
9
|
+
- Tommi Järvinen
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-07-
|
13
|
+
date: 2014-07-31 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
16
|
+
name: activemodel
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
19
|
- - "~>"
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '
|
21
|
+
version: '4.1'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - "~>"
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: '
|
28
|
+
version: '4.1'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: nokogiri
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -41,89 +41,89 @@ dependencies:
|
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: '1.6'
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
|
-
name:
|
44
|
+
name: savon
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
47
|
- - "~>"
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: '
|
49
|
+
version: '2.5'
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
54
|
- - "~>"
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version: '
|
56
|
+
version: '2.5'
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
|
-
name:
|
58
|
+
name: bundler
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
61
|
- - "~>"
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version: '
|
64
|
-
type: :
|
63
|
+
version: '1.6'
|
64
|
+
type: :development
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
68
|
- - "~>"
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version: '
|
70
|
+
version: '1.6'
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
|
-
name:
|
72
|
+
name: codeclimate-test-reporter
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
74
74
|
requirements:
|
75
75
|
- - "~>"
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version: '
|
77
|
+
version: '0.3'
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
80
|
version_requirements: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
82
|
- - "~>"
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version: '
|
84
|
+
version: '0.3'
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
|
-
name:
|
86
|
+
name: dotenv
|
87
87
|
requirement: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
89
|
- - "~>"
|
90
90
|
- !ruby/object:Gem::Version
|
91
|
-
version: '
|
91
|
+
version: '0.11'
|
92
92
|
type: :development
|
93
93
|
prerelease: false
|
94
94
|
version_requirements: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
96
|
- - "~>"
|
97
97
|
- !ruby/object:Gem::Version
|
98
|
-
version: '
|
98
|
+
version: '0.11'
|
99
99
|
- !ruby/object:Gem::Dependency
|
100
|
-
name:
|
100
|
+
name: minitest
|
101
101
|
requirement: !ruby/object:Gem::Requirement
|
102
102
|
requirements:
|
103
103
|
- - "~>"
|
104
104
|
- !ruby/object:Gem::Version
|
105
|
-
version: '
|
105
|
+
version: '5.3'
|
106
106
|
type: :development
|
107
107
|
prerelease: false
|
108
108
|
version_requirements: !ruby/object:Gem::Requirement
|
109
109
|
requirements:
|
110
110
|
- - "~>"
|
111
111
|
- !ruby/object:Gem::Version
|
112
|
-
version: '
|
112
|
+
version: '5.3'
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
|
-
name:
|
114
|
+
name: rake
|
115
115
|
requirement: !ruby/object:Gem::Requirement
|
116
116
|
requirements:
|
117
117
|
- - "~>"
|
118
118
|
- !ruby/object:Gem::Version
|
119
|
-
version: '
|
119
|
+
version: '10.3'
|
120
120
|
type: :development
|
121
121
|
prerelease: false
|
122
122
|
version_requirements: !ruby/object:Gem::Requirement
|
123
123
|
requirements:
|
124
124
|
- - "~>"
|
125
125
|
- !ruby/object:Gem::Version
|
126
|
-
version: '
|
126
|
+
version: '10.3'
|
127
127
|
- !ruby/object:Gem::Dependency
|
128
128
|
name: rubyntlm
|
129
129
|
requirement: !ruby/object:Gem::Requirement
|
@@ -202,6 +202,7 @@ files:
|
|
202
202
|
- sepafm.gemspec
|
203
203
|
- test/sepa/banks/danske/danske_cert_response_test.rb
|
204
204
|
- test/sepa/banks/danske/danske_cert_soap_builder_test.rb
|
205
|
+
- test/sepa/banks/danske/danske_certificate_application_request_test.rb
|
205
206
|
- test/sepa/banks/danske/danske_generic_soap_builder_test.rb
|
206
207
|
- test/sepa/banks/danske/danske_get_bank_cert_test.rb
|
207
208
|
- test/sepa/banks/danske/keys/bank_encryption_cert.pem
|
@@ -266,6 +267,7 @@ summary: SEPA Financial Messages
|
|
266
267
|
test_files:
|
267
268
|
- test/sepa/banks/danske/danske_cert_response_test.rb
|
268
269
|
- test/sepa/banks/danske/danske_cert_soap_builder_test.rb
|
270
|
+
- test/sepa/banks/danske/danske_certificate_application_request_test.rb
|
269
271
|
- test/sepa/banks/danske/danske_generic_soap_builder_test.rb
|
270
272
|
- test/sepa/banks/danske/danske_get_bank_cert_test.rb
|
271
273
|
- test/sepa/banks/danske/keys/bank_encryption_cert.pem
|