sepafm 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|