sepafm 0.1.3 → 0.1.4
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 +1 -1
- data/lib/sepa/application_response.rb +15 -16
- data/lib/sepa/attribute_checks.rb +18 -25
- data/lib/sepa/banks/danske/danske_response.rb +65 -8
- data/lib/sepa/banks/danske/soap_danske.rb +1 -1
- data/lib/sepa/banks/nordea/nordea_response.rb +11 -0
- data/lib/sepa/certificates/danske_root_certificate.cer +25 -0
- data/lib/sepa/client.rb +35 -29
- data/lib/sepa/error_messages.rb +11 -0
- data/lib/sepa/response.rb +42 -20
- data/lib/sepa/soap_builder.rb +20 -38
- data/lib/sepa/utilities.rb +36 -11
- data/lib/sepa/version.rb +1 -1
- data/lib/sepafm.rb +10 -1
- data/readme.md +64 -28
- data/test/sepa/banks/danske/danske_cert_response_test.rb +41 -4
- data/test/sepa/banks/danske/danske_cert_soap_builder_test.rb +1 -1
- data/test/sepa/banks/danske/danske_generic_soap_builder_test.rb +6 -17
- data/test/sepa/banks/danske/danske_response_test.rb +97 -0
- data/test/sepa/banks/danske/keys/bank_encryption_cert.pem +17 -17
- data/test/sepa/banks/danske/keys/bank_signing_cert.pem +17 -17
- data/test/sepa/banks/danske/responses/create_cert.xml +14 -14
- data/test/sepa/banks/danske/responses/download_file_list.xml +42 -0
- data/test/sepa/banks/danske/responses/get_bank_cert.xml +14 -36
- data/test/sepa/banks/danske/responses/get_bank_certificate_not_ok.xml +2 -0
- data/test/sepa/banks/nordea/nordea_application_request_test.rb +3 -5
- data/test/sepa/banks/nordea/nordea_application_response_test.rb +25 -30
- data/test/sepa/banks/nordea/nordea_generic_soap_builder_test.rb +2 -2
- data/test/sepa/banks/nordea/nordea_response_test.rb +83 -17
- data/test/sepa/banks/nordea/responses/df_ktl.xml +20 -44
- data/test/sepa/banks/nordea/responses/dfl.xml +7 -6
- data/test/sepa/banks/nordea/responses/download_file_list_no_content.xml +21 -0
- data/test/sepa/banks/nordea/responses/gc.xml +21 -49
- data/test/sepa/banks/nordea/responses/invalid/body_altered.xml +21 -0
- data/test/sepa/banks/nordea/responses/invalid/timestamp_altered.xml +21 -0
- data/test/sepa/banks/nordea/responses/not_ok_response_code.xml +21 -0
- data/test/sepa/banks/nordea/responses/uf.xml +7 -6
- data/test/sepa/client_test.rb +134 -35
- data/test/sepa/fixtures.rb +8 -8
- data/test/sepa/sepa_test.rb +1 -1
- data/test/test_helper.rb +5 -1
- metadata +18 -6
- data/test/sepa/banks/nordea/responses/gbc.xml +0 -15
- /data/{test/sepa/banks/nordea/keys/root_cert.cer → lib/sepa/certificates/nordea_root_certificate.cer} +0 -0
data/test/sepa/client_test.rb
CHANGED
@@ -60,7 +60,7 @@ class ClientTest < ActiveSupport::TestCase
|
|
60
60
|
wrong_certs = ['Im not a cert', 99, :leppakerttu, nil]
|
61
61
|
|
62
62
|
wrong_certs.each do |wrong_cert|
|
63
|
-
@nordea_generic_params[:
|
63
|
+
@nordea_generic_params[:own_signing_certificate] = wrong_cert
|
64
64
|
sepa = Sepa::Client.new @nordea_generic_params
|
65
65
|
refute sepa.valid?, sepa.errors.messages
|
66
66
|
end
|
@@ -89,10 +89,14 @@ class ClientTest < ActiveSupport::TestCase
|
|
89
89
|
end
|
90
90
|
|
91
91
|
test 'environment defaults to production' do
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
92
|
+
empty_environments = [nil, false, true]
|
93
|
+
|
94
|
+
empty_environments.each do |empty_environment|
|
95
|
+
@nordea_generic_params[:environment] = empty_environment
|
96
|
+
sepa = Sepa::Client.new @nordea_generic_params
|
97
|
+
assert sepa.environment == :production
|
98
|
+
assert sepa.valid?
|
99
|
+
end
|
96
100
|
end
|
97
101
|
|
98
102
|
test "status values are checked" do
|
@@ -106,8 +110,8 @@ class ClientTest < ActiveSupport::TestCase
|
|
106
110
|
end
|
107
111
|
end
|
108
112
|
|
109
|
-
test
|
110
|
-
wrong_ids = ["ready"*81, nil]
|
113
|
+
test 'target id is checked' do
|
114
|
+
wrong_ids = ["ready"*81, nil, false]
|
111
115
|
@nordea_generic_params[:command] = :upload_file
|
112
116
|
|
113
117
|
wrong_ids.each do |wrong_id|
|
@@ -129,7 +133,7 @@ class ClientTest < ActiveSupport::TestCase
|
|
129
133
|
end
|
130
134
|
|
131
135
|
test "file type is checked" do
|
132
|
-
wrong_types = ["kalle"*36, nil]
|
136
|
+
wrong_types = ["kalle"*36, nil, false]
|
133
137
|
|
134
138
|
wrong_types.each do |wrong_type|
|
135
139
|
[:upload_file, :download_file_list].each do |command|
|
@@ -142,24 +146,32 @@ class ClientTest < ActiveSupport::TestCase
|
|
142
146
|
end
|
143
147
|
end
|
144
148
|
|
145
|
-
test
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
149
|
+
test 'content is checked when command is upload file' do
|
150
|
+
invalid_contents = [nil, false, true]
|
151
|
+
|
152
|
+
invalid_contents.each do |invalid_content|
|
153
|
+
@nordea_generic_params[:command] = :upload_file
|
154
|
+
@nordea_generic_params[:content] = invalid_content
|
155
|
+
sepa = Sepa::Client.new @nordea_generic_params
|
156
|
+
refute sepa.valid?, sepa.errors.messages
|
157
|
+
assert_includes sepa.errors.messages.to_s, CONTENT_ERROR_MESSAGE
|
158
|
+
end
|
151
159
|
end
|
152
160
|
|
153
161
|
test 'file reference is required for download file' do
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
162
|
+
invalid_file_references = [nil, false, true]
|
163
|
+
|
164
|
+
invalid_file_references.each do |invalid_file_reference|
|
165
|
+
@nordea_generic_params[:file_reference] = invalid_file_reference
|
166
|
+
sepa = Sepa::Client.new @nordea_generic_params
|
167
|
+
refute sepa.valid?, sepa.errors.messages
|
168
|
+
assert_includes sepa.errors.messages.to_s, FILE_REFERENCE_ERROR_MESSAGE
|
169
|
+
end
|
158
170
|
end
|
159
171
|
|
160
172
|
# # The response from savon will be the request to check that a proper request
|
161
173
|
# # was made in the following four tests
|
162
|
-
test "
|
174
|
+
test "should_send_proper_request_with_nordea_get_user_info" do
|
163
175
|
@nordea_generic_params[:command] = :get_user_info
|
164
176
|
client = Sepa::Client.new(@nordea_generic_params)
|
165
177
|
response = client.send_request
|
@@ -172,7 +184,7 @@ class ClientTest < ActiveSupport::TestCase
|
|
172
184
|
end
|
173
185
|
end
|
174
186
|
|
175
|
-
test "
|
187
|
+
test "should_send_proper_request_with_nordea_download_file_list" do
|
176
188
|
@nordea_generic_params[:command] = :download_file_list
|
177
189
|
client = Sepa::Client.new(@nordea_generic_params)
|
178
190
|
response = client.send_request
|
@@ -185,7 +197,7 @@ class ClientTest < ActiveSupport::TestCase
|
|
185
197
|
end
|
186
198
|
end
|
187
199
|
|
188
|
-
test "
|
200
|
+
test "should_send_proper_request_with_nordea_download_file" do
|
189
201
|
@nordea_generic_params[:command] = :download_file
|
190
202
|
client = Sepa::Client.new(@nordea_generic_params)
|
191
203
|
response = client.send_request
|
@@ -198,7 +210,7 @@ class ClientTest < ActiveSupport::TestCase
|
|
198
210
|
end
|
199
211
|
end
|
200
212
|
|
201
|
-
test "
|
213
|
+
test "should_send_proper_request_with_nordea_upload_file" do
|
202
214
|
@nordea_generic_params[:command] = :upload_file
|
203
215
|
client = Sepa::Client.new(@nordea_generic_params)
|
204
216
|
response = client.send_request
|
@@ -211,11 +223,7 @@ class ClientTest < ActiveSupport::TestCase
|
|
211
223
|
end
|
212
224
|
end
|
213
225
|
|
214
|
-
test
|
215
|
-
assert Sepa::Client.new(@nordea_get_certificate_params)
|
216
|
-
end
|
217
|
-
|
218
|
-
test "should_send_proper_request_with_get_certificate" do
|
226
|
+
test 'should send proper request with nordea get certificate' do
|
219
227
|
client = Sepa::Client.new(@nordea_get_certificate_params)
|
220
228
|
response = client.send_request
|
221
229
|
|
@@ -227,6 +235,49 @@ class ClientTest < ActiveSupport::TestCase
|
|
227
235
|
end
|
228
236
|
end
|
229
237
|
|
238
|
+
test 'should send proper request with danske download file list' do
|
239
|
+
@danske_generic_params[:command] = :download_file_list
|
240
|
+
client = Sepa::Client.new(@danske_generic_params)
|
241
|
+
response = client.send_request
|
242
|
+
|
243
|
+
Dir.chdir(SCHEMA_PATH) do
|
244
|
+
xsd = Nokogiri::XML::Schema(IO.read('soap.xsd'))
|
245
|
+
assert xsd.valid?(response.doc)
|
246
|
+
end
|
247
|
+
end
|
248
|
+
|
249
|
+
test 'should send proper request with danske download file' do
|
250
|
+
@danske_generic_params[:command] = :download_file
|
251
|
+
client = Sepa::Client.new(@danske_generic_params)
|
252
|
+
response = client.send_request
|
253
|
+
|
254
|
+
Dir.chdir(SCHEMA_PATH) do
|
255
|
+
xsd = Nokogiri::XML::Schema(IO.read('soap.xsd'))
|
256
|
+
assert xsd.valid?(response.doc)
|
257
|
+
end
|
258
|
+
end
|
259
|
+
|
260
|
+
test 'should send proper request with danske upload file' do
|
261
|
+
client = Sepa::Client.new(@danske_generic_params)
|
262
|
+
response = client.send_request
|
263
|
+
|
264
|
+
Dir.chdir(SCHEMA_PATH) do
|
265
|
+
xsd = Nokogiri::XML::Schema(IO.read('soap.xsd'))
|
266
|
+
assert xsd.valid?(response.doc)
|
267
|
+
end
|
268
|
+
end
|
269
|
+
|
270
|
+
test 'should send proper request with danske create certificate' do
|
271
|
+
client = Sepa::Client.new(@danske_create_certificate_params)
|
272
|
+
response = client.send_request
|
273
|
+
|
274
|
+
Dir.chdir(SCHEMA_PATH) do
|
275
|
+
xsd = Nokogiri::XML::Schema(IO.read('soap.xsd'))
|
276
|
+
assert xsd.valid?(response.doc)
|
277
|
+
end
|
278
|
+
end
|
279
|
+
|
280
|
+
|
230
281
|
test "should_check_signing_cert_request_with_create_certificate" do
|
231
282
|
@danske_create_certificate_params[:command] = :create_certificate
|
232
283
|
@danske_create_certificate_params.delete(:signing_csr)
|
@@ -246,17 +297,33 @@ class ClientTest < ActiveSupport::TestCase
|
|
246
297
|
end
|
247
298
|
|
248
299
|
test "should_check_pin_with_create_certificate" do
|
249
|
-
|
250
|
-
@danske_create_certificate_params.delete(:pin)
|
300
|
+
invalid_pins = [nil, false, true]
|
251
301
|
|
252
|
-
|
253
|
-
|
254
|
-
|
302
|
+
invalid_pins.each do |invalid_pin|
|
303
|
+
@danske_create_certificate_params[:command] = :create_certificate
|
304
|
+
@danske_create_certificate_params[:pin] = invalid_pin
|
305
|
+
|
306
|
+
sepa = Sepa::Client.new(@danske_create_certificate_params)
|
307
|
+
refute sepa.valid?
|
308
|
+
assert_includes sepa.errors.messages.to_s, PIN_ERROR_MESSAGE
|
309
|
+
end
|
310
|
+
end
|
311
|
+
|
312
|
+
test 'should check pin with get certificate' do
|
313
|
+
invalid_pins = [nil, false, true]
|
314
|
+
|
315
|
+
invalid_pins.each do |invalid_pin|
|
316
|
+
@nordea_get_certificate_params[:pin] = invalid_pin
|
317
|
+
|
318
|
+
sepa = Sepa::Client.new(@nordea_get_certificate_params)
|
319
|
+
refute sepa.valid?
|
320
|
+
assert_includes sepa.errors.messages.to_s, PIN_ERROR_MESSAGE
|
321
|
+
end
|
255
322
|
end
|
256
323
|
|
257
324
|
test "should_check_encryption_cert_with_create_certificate" do
|
258
325
|
@danske_create_certificate_params[:command] = :create_certificate
|
259
|
-
@danske_create_certificate_params.delete(:
|
326
|
+
@danske_create_certificate_params.delete(:bank_encryption_certificate)
|
260
327
|
|
261
328
|
sepa = Sepa::Client.new(@danske_create_certificate_params)
|
262
329
|
refute sepa.valid?
|
@@ -292,10 +359,42 @@ class ClientTest < ActiveSupport::TestCase
|
|
292
359
|
refute client.valid?
|
293
360
|
end
|
294
361
|
|
295
|
-
test 'encryption certificate is checked when bank is danske' do
|
296
|
-
@danske_generic_params.delete :
|
362
|
+
test 'bank encryption certificate is checked when bank is danske' do
|
363
|
+
@danske_generic_params.delete :bank_encryption_certificate
|
364
|
+
client = Sepa::Client.new @danske_generic_params
|
365
|
+
refute client.valid?
|
366
|
+
end
|
367
|
+
|
368
|
+
test 'presence of encryption private key is checked when bank is danske' do
|
369
|
+
@danske_generic_params.delete :encryption_private_key
|
297
370
|
client = Sepa::Client.new @danske_generic_params
|
298
371
|
refute client.valid?
|
299
372
|
end
|
300
373
|
|
374
|
+
test 'validity of encryption private key is checked when bank is danske' do
|
375
|
+
wrong_keys = [encode('kissa' * 1000), false]
|
376
|
+
|
377
|
+
wrong_keys.each do |wrong_key|
|
378
|
+
@danske_generic_params[:encryption_private_key] = wrong_key
|
379
|
+
client = Sepa::Client.new @danske_generic_params
|
380
|
+
refute client.valid?
|
381
|
+
refute_empty client.errors.messages
|
382
|
+
end
|
383
|
+
end
|
384
|
+
|
385
|
+
test 'validity of encryption certificate is checked when bank is danske' do
|
386
|
+
@danske_generic_params[:bank_encryption_certificate] = encode('kissa' * 1000)
|
387
|
+
client = Sepa::Client.new @danske_generic_params
|
388
|
+
refute client.valid?
|
389
|
+
refute_empty client.errors.messages
|
390
|
+
end
|
391
|
+
|
392
|
+
test 'signing csr is checked with nordea when command is get certificate' do
|
393
|
+
@nordea_get_certificate_params[:signing_csr] = encode('kissa' * 1000)
|
394
|
+
client = Sepa::Client.new @nordea_get_certificate_params
|
395
|
+
|
396
|
+
refute client.valid?
|
397
|
+
refute_empty client.errors.messages
|
398
|
+
end
|
399
|
+
|
301
400
|
end
|
data/test/sepa/fixtures.rb
CHANGED
@@ -8,10 +8,10 @@ def danske_generic_params
|
|
8
8
|
encryption_private_key = File.read encryption_private_key_path
|
9
9
|
|
10
10
|
signing_certificate_path = "#{keys_path}/own_signing_cert.pem"
|
11
|
-
|
11
|
+
own_signing_certificate = File.read signing_certificate_path
|
12
12
|
|
13
13
|
encryption_certificate_path = "#{keys_path}/own_enc_cert.pem"
|
14
|
-
|
14
|
+
bank_encryption_certificate = File.read encryption_certificate_path
|
15
15
|
|
16
16
|
{
|
17
17
|
bank: :danske,
|
@@ -20,8 +20,8 @@ def danske_generic_params
|
|
20
20
|
command: :upload_file,
|
21
21
|
customer_id: '360817',
|
22
22
|
environment: 'test',
|
23
|
-
|
24
|
-
|
23
|
+
bank_encryption_certificate: bank_encryption_certificate,
|
24
|
+
own_signing_certificate: own_signing_certificate,
|
25
25
|
language: 'FI',
|
26
26
|
status: 'ALL',
|
27
27
|
target_id: 'DABAFIHH',
|
@@ -32,7 +32,7 @@ def danske_generic_params
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def nordea_generic_params
|
35
|
-
|
35
|
+
own_signing_certificate = "-----BEGIN CERTIFICATE-----
|
36
36
|
MIIDwTCCAqmgAwIBAgIEAX1JuTANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJT
|
37
37
|
RTEeMBwGA1UEChMVTm9yZGVhIEJhbmsgQUIgKHB1YmwpMR8wHQYDVQQDExZOb3Jk
|
38
38
|
ZWEgQ29ycG9yYXRlIENBIDAxMRQwEgYDVQQFEws1MTY0MDYtMDEyMDAeFw0xMzA1
|
@@ -75,7 +75,7 @@ Sn4Uz7Zjk3UrBIbMYEv0u2mcCypwsb0nGE5/gzDPjGE9cxWW+rXARIs+sNQVClnh
|
|
75
75
|
{
|
76
76
|
bank: :nordea,
|
77
77
|
signing_private_key: signing_private_key,
|
78
|
-
|
78
|
+
own_signing_certificate: own_signing_certificate,
|
79
79
|
command: :download_file,
|
80
80
|
customer_id: '11111111',
|
81
81
|
environment: 'production',
|
@@ -229,11 +229,11 @@ bx1hmt5Eihy1lORQR4PE4xaOP5TCqtxP0+snuGqRuBHhrDk4mowWEJbvFWlONT5H
|
|
229
229
|
CsajqZag/Aoxv/Y=
|
230
230
|
-----END CERTIFICATE REQUEST-----"
|
231
231
|
|
232
|
-
|
232
|
+
bank_encryption_certificate = File.read "#{DANSKE_TEST_KEYS_PATH}own_enc_cert.pem"
|
233
233
|
|
234
234
|
{
|
235
235
|
bank: :danske,
|
236
|
-
|
236
|
+
bank_encryption_certificate: bank_encryption_certificate,
|
237
237
|
command: :create_certificate,
|
238
238
|
customer_id: '360817',
|
239
239
|
environment: 'test',
|
data/test/sepa/sepa_test.rb
CHANGED
data/test/test_helper.rb
CHANGED
@@ -26,13 +26,17 @@ include Sepa::Utilities
|
|
26
26
|
NORDEA_TEST_RESPONSE_PATH = "#{ROOT_PATH}/test/sepa/banks/nordea/responses"
|
27
27
|
DANSKE_TEST_RESPONSE_PATH = "#{ROOT_PATH}/test/sepa/banks/danske/responses/"
|
28
28
|
|
29
|
-
# Test keys
|
29
|
+
# Danske Test keys
|
30
30
|
DANSKE_TEST_KEYS_PATH = "#{ROOT_PATH}/test/sepa/banks/danske/keys/"
|
31
31
|
DANSKE_BANK_SIGNING_CERT = File.read "#{DANSKE_TEST_KEYS_PATH}bank_signing_cert.pem"
|
32
32
|
DANSKE_BANK_ENCRYPTION_CERT = File.read "#{DANSKE_TEST_KEYS_PATH}bank_encryption_cert.pem"
|
33
33
|
DANSKE_BANK_ROOT_CERT = File.read "#{DANSKE_TEST_KEYS_PATH}bank_root_cert.pem"
|
34
34
|
DANSKE_OWN_ENCRYPTION_CERT = File.read "#{DANSKE_TEST_KEYS_PATH}own_enc_cert.pem"
|
35
35
|
|
36
|
+
# Nordea test keys
|
37
|
+
NORDEA_TEST_KEYS_PATH = "#{ROOT_PATH}/test/sepa/banks/nordea/keys/"
|
38
|
+
NORDEA_SIGNING_CERTIFICATE = File.read "#{NORDEA_TEST_KEYS_PATH}nordea.crt"
|
39
|
+
|
36
40
|
I18n.enforce_available_locales = true
|
37
41
|
|
38
42
|
# Create an observer to fake sending requests to bank
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
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.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joni Kanerva
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-07
|
13
|
+
date: 2014-08-07 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activemodel
|
@@ -158,6 +158,8 @@ files:
|
|
158
158
|
- lib/sepa/banks/danske/soap_danske.rb
|
159
159
|
- lib/sepa/banks/nordea/nordea_response.rb
|
160
160
|
- lib/sepa/banks/nordea/soap_nordea.rb
|
161
|
+
- lib/sepa/certificates/danske_root_certificate.cer
|
162
|
+
- lib/sepa/certificates/nordea_root_certificate.cer
|
161
163
|
- lib/sepa/client.rb
|
162
164
|
- lib/sepa/error_messages.rb
|
163
165
|
- lib/sepa/response.rb
|
@@ -205,6 +207,7 @@ files:
|
|
205
207
|
- test/sepa/banks/danske/danske_certificate_application_request_test.rb
|
206
208
|
- test/sepa/banks/danske/danske_generic_soap_builder_test.rb
|
207
209
|
- test/sepa/banks/danske/danske_get_bank_cert_test.rb
|
210
|
+
- test/sepa/banks/danske/danske_response_test.rb
|
208
211
|
- test/sepa/banks/danske/keys/bank_encryption_cert.pem
|
209
212
|
- test/sepa/banks/danske/keys/bank_root_cert.pem
|
210
213
|
- test/sepa/banks/danske/keys/bank_signing_cert.pem
|
@@ -217,10 +220,11 @@ files:
|
|
217
220
|
- test/sepa/banks/danske/keys/signing_pkcs.csr
|
218
221
|
- test/sepa/banks/danske/keys/signing_private_key.pem
|
219
222
|
- test/sepa/banks/danske/responses/create_cert.xml
|
223
|
+
- test/sepa/banks/danske/responses/download_file_list.xml
|
220
224
|
- test/sepa/banks/danske/responses/get_bank_cert.xml
|
225
|
+
- test/sepa/banks/danske/responses/get_bank_certificate_not_ok.xml
|
221
226
|
- test/sepa/banks/nordea/keys/nordea.crt
|
222
227
|
- test/sepa/banks/nordea/keys/nordea.key
|
223
|
-
- test/sepa/banks/nordea/keys/root_cert.cer
|
224
228
|
- test/sepa/banks/nordea/keys/testcert.csr
|
225
229
|
- test/sepa/banks/nordea/nordea_application_request_test.rb
|
226
230
|
- test/sepa/banks/nordea/nordea_application_response_test.rb
|
@@ -231,9 +235,12 @@ files:
|
|
231
235
|
- test/sepa/banks/nordea/responses/df_ktl.xml
|
232
236
|
- test/sepa/banks/nordea/responses/df_tito.xml
|
233
237
|
- test/sepa/banks/nordea/responses/dfl.xml
|
234
|
-
- test/sepa/banks/nordea/responses/
|
238
|
+
- test/sepa/banks/nordea/responses/download_file_list_no_content.xml
|
235
239
|
- test/sepa/banks/nordea/responses/gc.xml
|
236
240
|
- test/sepa/banks/nordea/responses/gui.xml
|
241
|
+
- test/sepa/banks/nordea/responses/invalid/body_altered.xml
|
242
|
+
- test/sepa/banks/nordea/responses/invalid/timestamp_altered.xml
|
243
|
+
- test/sepa/banks/nordea/responses/not_ok_response_code.xml
|
237
244
|
- test/sepa/banks/nordea/responses/uf.xml
|
238
245
|
- test/sepa/client_test.rb
|
239
246
|
- test/sepa/fixtures.rb
|
@@ -270,6 +277,7 @@ test_files:
|
|
270
277
|
- test/sepa/banks/danske/danske_certificate_application_request_test.rb
|
271
278
|
- test/sepa/banks/danske/danske_generic_soap_builder_test.rb
|
272
279
|
- test/sepa/banks/danske/danske_get_bank_cert_test.rb
|
280
|
+
- test/sepa/banks/danske/danske_response_test.rb
|
273
281
|
- test/sepa/banks/danske/keys/bank_encryption_cert.pem
|
274
282
|
- test/sepa/banks/danske/keys/bank_root_cert.pem
|
275
283
|
- test/sepa/banks/danske/keys/bank_signing_cert.pem
|
@@ -282,10 +290,11 @@ test_files:
|
|
282
290
|
- test/sepa/banks/danske/keys/signing_pkcs.csr
|
283
291
|
- test/sepa/banks/danske/keys/signing_private_key.pem
|
284
292
|
- test/sepa/banks/danske/responses/create_cert.xml
|
293
|
+
- test/sepa/banks/danske/responses/download_file_list.xml
|
285
294
|
- test/sepa/banks/danske/responses/get_bank_cert.xml
|
295
|
+
- test/sepa/banks/danske/responses/get_bank_certificate_not_ok.xml
|
286
296
|
- test/sepa/banks/nordea/keys/nordea.crt
|
287
297
|
- test/sepa/banks/nordea/keys/nordea.key
|
288
|
-
- test/sepa/banks/nordea/keys/root_cert.cer
|
289
298
|
- test/sepa/banks/nordea/keys/testcert.csr
|
290
299
|
- test/sepa/banks/nordea/nordea_application_request_test.rb
|
291
300
|
- test/sepa/banks/nordea/nordea_application_response_test.rb
|
@@ -296,9 +305,12 @@ test_files:
|
|
296
305
|
- test/sepa/banks/nordea/responses/df_ktl.xml
|
297
306
|
- test/sepa/banks/nordea/responses/df_tito.xml
|
298
307
|
- test/sepa/banks/nordea/responses/dfl.xml
|
299
|
-
- test/sepa/banks/nordea/responses/
|
308
|
+
- test/sepa/banks/nordea/responses/download_file_list_no_content.xml
|
300
309
|
- test/sepa/banks/nordea/responses/gc.xml
|
301
310
|
- test/sepa/banks/nordea/responses/gui.xml
|
311
|
+
- test/sepa/banks/nordea/responses/invalid/body_altered.xml
|
312
|
+
- test/sepa/banks/nordea/responses/invalid/timestamp_altered.xml
|
313
|
+
- test/sepa/banks/nordea/responses/not_ok_response_code.xml
|
302
314
|
- test/sepa/banks/nordea/responses/uf.xml
|
303
315
|
- test/sepa/client_test.rb
|
304
316
|
- test/sepa/fixtures.rb
|
@@ -1,15 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<soapenv:Envelope xmlns:xd="http://www.w3.org/2000/09/xmldsig#" xmlns:elem="http://danskebank.dk/PKI/PKIFactoryService/elements" xmlns:pkif="http://danskebank.dk/PKI/PKIFactoryService" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header/><soapenv:Body><GetBankCertificateOut xmlns="http://danskebank.dk/PKI/PKIFactoryService"><pkif:ResponseHeader xmlns=""><pkif:SenderId>360817</pkif:SenderId><pkif:CustomerId>360817</pkif:CustomerId><pkif:RequestId>203902</pkif:RequestId><pkif:Timestamp>2013-07-25T07:26:27Z</pkif:Timestamp><pkif:InterfaceVersion>1</pkif:InterfaceVersion></pkif:ResponseHeader><pkie:GetBankCertificateResponse xml:id="response" xmlns="" xmlns:pkie="http://danskebank.dk/PKI/PKIFactoryService/elements"><pkie:ReturnCode>00</pkie:ReturnCode><pkie:ReturnText>OK</pkie:ReturnText><pkie:BankEncryptionCert>MIIEATCCAumgAwIBAgIFAQjv8bMwDQYJKoZIhvcNAQELBQAwgZgxEDAOBgNVBAMTB0RCR1JPT1QxCzAJBgNVBAYTAkRLMRMwEQYDVQQHEwpDb3BlbmhhZ2VuMRAwDgYDVQQIEwdEZW5tYXJrMRowGAYDVQQKExFEYW5za2UgQmFuayBHcm91cDEaMBgGA1UECxMRRGFuc2tlIEJhbmsgR3JvdXAxGDAWBgNVBAUTDzYxMTI2MjI4MTExMDAwMjAeFw0xMjA4MDEwMDAwMDBaFw0xNDEwMzEwMDAwMDBaMIGYMRAwDgYDVQQDEwdEUENSWVBUMQswCQYDVQQGEwJESzETMBEGA1UEBxMKQ29wZW5oYWdlbjEQMA4GA1UECBMHRGVubWFyazEaMBgGA1UEChMRRGFuc2tlIEJhbmsgR3JvdXAxGjAYBgNVBAsTEURhbnNrZSBCYW5rIEdyb3VwMRgwFgYDVQQFEw82MTEyNjIyODQ5MTAwMDMwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAwggEIAoIBAQC/kHrOvHOueBsit9drxIHpaD7mXINypXS/l9PbbOZ0lZKVEfW9gtG8xk9XggsPXHJMF/PXpG6mveXvPu9WW/XpryAUqGfvYsC7Px3ixaJb2EMOL+2mJYd0v5HKg5RuYkQ82k3K01hMNEGYs0OotjNVAimQcTLtVPDGBjK5BUAiwady9LpI6afo7roJWnRmsvSvinDgBqswnfCvUfSfM8cZyhnLLC2uj1kBHAD/5xpllmS3aq1M8LqFkBYcCE5PdPmFWhGUumZ/Y5qLjDgcPMAPvUaKLqOsh22jvPCZ0pm17eV0bSQzWe5e0zkgCYAepuFRazSlkJQYBdS47Mp68dY5AgEDo1IwUDAfBgNVHSMEGDAWgBSE+uW/3pFJZt/FilLDs7ezIBzHbTAdBgNVHQ4EFgQUP6wHVNOmznu212c08M3oeYjeXW4wDgYDVR0PAQH/BAQDAgQwMA0GCSqGSIb3DQEBCwUAA4IBAQAvJBfPug+ixGL/zWUnKMweV80atZXMjHJEn4mOE+iUkCNONLImMMt6MXJysnJViL1gL5xMrka6A62PLLsVkl79kxDDbzXMPfGt5/mB9L7CMpyzaID0acDii3rsZwT3Wxpnate6wowN4zpmXgpCpTDGbxjuVRiOArsjQblerhfxnD/UAieZ1IWozIANs6SVms/TuOB+bODUr06ITxBkDJhizOJxjsXRIAtwZvvrH4qGjJz5qFcPb3nz4TxwswU8X6yvbtqF+q4aAKPA6ZydnGZFQSoSzNJtcF28T1ItxEHN3+xyQqXpTgFviiuL277LaAl9YUFFnSgeh7GiFitWJPfD</pkie:BankEncryptionCert><pkie:BankSigningCert>MIIEADCCAuigAwIBAgIFAMa3bfMwDQYJKoZIhvcNAQELBQAwgZgxEDAOBgNVBAMTB0RCR1JPT1QxCzAJBgNVBAYTAkRLMRMwEQYDVQQHEwpDb3BlbmhhZ2VuMRAwDgYDVQQIEwdEZW5tYXJrMRowGAYDVQQKExFEYW5za2UgQmFuayBHcm91cDEaMBgGA1UECxMRRGFuc2tlIEJhbmsgR3JvdXAxGDAWBgNVBAUTDzYxMTI2MjI4MTExMDAwMjAeFw0xMjA4MDEwMDAwMDBaFw0xNDEwMzEwMDAwMDBaMIGXMQ8wDQYDVQQDEwZEUFNJR04xCzAJBgNVBAYTAkRLMRMwEQYDVQQHEwpDb3BlbmhhZ2VuMRAwDgYDVQQIEwdEZW5tYXJrMRowGAYDVQQKExFEYW5za2UgQmFuayBHcm91cDEaMBgGA1UECxMRRGFuc2tlIEJhbmsgR3JvdXAxGDAWBgNVBAUTDzYxMTI2MjI4MzkxMDAwMzCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAL1zYMqPk/6klEpL5wo+vWAo3MmxPz4wq9wuLAHpPUhJ4ZpHmncNsdmqSSXT6U4mxTY8tzKvz4ZdTDljp+5J6OxOl1B7av3V7hlHtfGb7wozsBAya2JOoPrLxc+ajapslbduiEvdhW9ZLKvn/n7rQ9sZzHA6GyGKQk8lfvKK+OjMylA86XyxApasFD/0eIDnzUJHth3UpPoQTJAlB7h7d4CKc/QG9tFv900AAi4R/Tmy9TRai7fVCkXz7y4qRXN+M7NIhDGAsCmtM6oSuDqjv3lh10nD7XELTxTvcbpq5xHLt9yknwjiM2ivc4XudDMgC7ESoH6vaJSUcbC17+wa6IUCAQOjUjBQMB8GA1UdIwQYMBaAFIT65b/ekUlm38WKUsOzt7MgHMdtMB0GA1UdDgQWBBQHbPgey2TInIKC7xbag8AZG25qnTAOBgNVHQ8BAf8EBAMCBsAwDQYJKoZIhvcNAQELBQADggEBAFl3WfGkVElIeUXjQsr8uQFXhkSbrI14F6mRIkUpCTa9Px/UUfw1HQNVn4Tyep30JmfsFN91Yj387jiZDzoeMYeiVI32wyZkao7rC3Z4YhAfUdPdVFZqO1k2gOgoZ49nyLKVS+GlyuzeLQVBnFE7f3sbpgDTRzd8o58W5VncHuzmSj/IVe8ZwRQ4bm3cHlKTQpRnyz5x7UJjp08fH6KOUal8DVsOaQKoo+jWIsPPir58b/QZsxIRL4uq3qqQt5udrbZqyltRsyxUpgomIN5irCn7Wgr+iYwNLhzXYwxKvwKsNRS7isEAZuyfH9fNarBRP4p72g+225NB0itQ73Xo7pg=</pkie:BankSigningCert><pkie:BankRootCert>MIIEPzCCAyegAwIBAgIEQjoxcjANBgkqhkiG9w0BAQsFADCBmDEQMA4GA1UEAxMHREJHUk9PVDELMAkGA1UEBhMCREsxEzARBgNVBAcTCkNvcGVuaGFnZW4xEDAOBgNVBAgTB0Rlbm1hcmsxGjAYBgNVBAoTEURhbnNrZSBCYW5rIEdyb3VwMRowGAYDVQQLExFEYW5za2UgQmFuayBHcm91cDEYMBYGA1UEBRMPNjExMjYyMjgxMTEwMDAyMB4XDTEwMTAyNzAwMDAwMFoXDTIwMTAyNzAwMDAwMFowgZgxEDAOBgNVBAMTB0RCR1JPT1QxCzAJBgNVBAYTAkRLMRMwEQYDVQQHEwpDb3BlbmhhZ2VuMRAwDgYDVQQIEwdEZW5tYXJrMRowGAYDVQQKExFEYW5za2UgQmFuayBHcm91cDEaMBgGA1UECxMRRGFuc2tlIEJhbmsgR3JvdXAxGDAWBgNVBAUTDzYxMTI2MjI4MTExMDAwMjCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAKWRtTRCXNEn5Hj+tA0vVg8VKUi/HnFgioZW/eyaF4gWvR4PNXXJJOS31VNHnb2SQHPLt3ac+5icH7vLu/OtS5rvnDiDFMg+TomVDrur6RtlsZNLnihZiaSaooI49+ERTz6vcCjST7xbfhmC03LUhE8eBKI1U70cx/lQ55UQKZvIAIbCVaZEks95VS4uJpwnU4M8glNIVGSvJhIUj/LIkSIcqBiryq/t9FRVtRl1gVhwKdi8A5O9hp4t3dBIdOanaup2UEL4lp7izzgt2rkMeuyQ1ZjHsN7LmDsfjoFcYx/8CID9LBwRCN2p+YCuoWUjuorrdU/2eit2lNh6ypiF6WECAQOjgZAwgY0wHQYDVR0OBBYEFIT65b/ekUlm38WKUsOzt7MgHMdtMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEBMEgGA1UdHwRBMD8wPaA7oDmGN2h0dHA6Ly9vbmxpbmUuZGFuc2tlYmFuay5jb20vcGtpL0RCR1JPT1RfMTExMTExMDAwMi5jcmwwDQYJKoZIhvcNAQELBQADggEBAFjnBPCos7jMMLc3FqyQUMt/HJGKgJDrhYiPZBo9njGkH52Urryqw1sbT3wXA1NuzbjHE3xTUD+5jNPCncYqML9xqQjSQkBcb9eJfHZ+asiclsO38cSn2qriJPIrCREPOpRVqrGQRbZQhmDiB198hpAdLp38khJon/gXbR7u9e0rN8MIM4sXn+lFuQIWiPuv+3llGSoLlIxJnjiQQ9FDjhwN5U+N1N2aHaLc5AHu4X/qRutLCy7AYUJZMPBoakPLscYceW2Ztvx4VAyOXgHDdvmz0Bd58XWOs1A9bNMZFeYAB14D9yQRCkXYLhr6sm8HuyqaIkGChFpNb+Gf8gcPvtw=</pkie:BankRootCert><pkie:RequestId>203902</pkie:RequestId><Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
|
3
|
-
<SignedInfo>
|
4
|
-
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
|
5
|
-
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
|
6
|
-
<Reference URI="#response">
|
7
|
-
<Transforms>
|
8
|
-
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
|
9
|
-
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
|
10
|
-
</Transforms>
|
11
|
-
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
|
12
|
-
<DigestValue>Y/T9RlEiXgEwlg92vm3pXZM6O3g=</DigestValue>
|
13
|
-
</Reference>
|
14
|
-
</SignedInfo>
|
15
|
-
<SignatureValue>K/xPkz8D7qwP+Jd60vAEJ1Brg4zjTGs7SbKSnccDVWRha530p7nPLF3bQpTn9uA99wpFltzmUvGQ3TL1iHehbzCwiHG0VyA9r4k51j8i13HnrOL0ywBDeTc/nbeQSREmdaIGuaE3eehCpibhaTbYWJBA9EPbpQ9gpIBeOtcLxemC6YTW3b/p4wlVCQ3wIZgXtbUQhw/aKc9EeetYTgDqtW2RZOpFX8jkooXB9ljHMBZm+Lmu8Er6feuKOK9k6slSUFv51ymOZ9Y6ZnOI+sf0A+a9xpX9DKHKyMDpWAtofiJhfWE7IUJXkMAkdIRcoFy+sRzwv1sKJppmDoT8Q8rqGA==</SignatureValue><KeyInfo><X509Data><X509Certificate>MIIEADCCAuigAwIBAgIFAMa3bfMwDQYJKoZIhvcNAQELBQAwgZgxEDAOBgNVBAMTB0RCR1JPT1QxCzAJBgNVBAYTAkRLMRMwEQYDVQQHEwpDb3BlbmhhZ2VuMRAwDgYDVQQIEwdEZW5tYXJrMRowGAYDVQQKExFEYW5za2UgQmFuayBHcm91cDEaMBgGA1UECxMRRGFuc2tlIEJhbmsgR3JvdXAxGDAWBgNVBAUTDzYxMTI2MjI4MTExMDAwMjAeFw0xMjA4MDEwMDAwMDBaFw0xNDEwMzEwMDAwMDBaMIGXMQ8wDQYDVQQDEwZEUFNJR04xCzAJBgNVBAYTAkRLMRMwEQYDVQQHEwpDb3BlbmhhZ2VuMRAwDgYDVQQIEwdEZW5tYXJrMRowGAYDVQQKExFEYW5za2UgQmFuayBHcm91cDEaMBgGA1UECxMRRGFuc2tlIEJhbmsgR3JvdXAxGDAWBgNVBAUTDzYxMTI2MjI4MzkxMDAwMzCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAL1zYMqPk/6klEpL5wo+vWAo3MmxPz4wq9wuLAHpPUhJ4ZpHmncNsdmqSSXT6U4mxTY8tzKvz4ZdTDljp+5J6OxOl1B7av3V7hlHtfGb7wozsBAya2JOoPrLxc+ajapslbduiEvdhW9ZLKvn/n7rQ9sZzHA6GyGKQk8lfvKK+OjMylA86XyxApasFD/0eIDnzUJHth3UpPoQTJAlB7h7d4CKc/QG9tFv900AAi4R/Tmy9TRai7fVCkXz7y4qRXN+M7NIhDGAsCmtM6oSuDqjv3lh10nD7XELTxTvcbpq5xHLt9yknwjiM2ivc4XudDMgC7ESoH6vaJSUcbC17+wa6IUCAQOjUjBQMB8GA1UdIwQYMBaAFIT65b/ekUlm38WKUsOzt7MgHMdtMB0GA1UdDgQWBBQHbPgey2TInIKC7xbag8AZG25qnTAOBgNVHQ8BAf8EBAMCBsAwDQYJKoZIhvcNAQELBQADggEBAFl3WfGkVElIeUXjQsr8uQFXhkSbrI14F6mRIkUpCTa9Px/UUfw1HQNVn4Tyep30JmfsFN91Yj387jiZDzoeMYeiVI32wyZkao7rC3Z4YhAfUdPdVFZqO1k2gOgoZ49nyLKVS+GlyuzeLQVBnFE7f3sbpgDTRzd8o58W5VncHuzmSj/IVe8ZwRQ4bm3cHlKTQpRnyz5x7UJjp08fH6KOUal8DVsOaQKoo+jWIsPPir58b/QZsxIRL4uq3qqQt5udrbZqyltRsyxUpgomIN5irCn7Wgr+iYwNLhzXYwxKvwKsNRS7isEAZuyfH9fNarBRP4p72g+225NB0itQ73Xo7pg=</X509Certificate><X509IssuerSerial><X509IssuerName>serialNumber=611262281110002, OU=Danske Bank Group, O=Danske Bank Group, ST=Denmark, L=Copenhagen, C=DK, CN=DBGROOT</X509IssuerName><X509SerialNumber>3333910003</X509SerialNumber></X509IssuerSerial></X509Data></KeyInfo></Signature></pkie:GetBankCertificateResponse></GetBankCertificateOut></soapenv:Body></soapenv:Envelope>
|
File without changes
|