epics 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +6 -0
  5. data/CONTRIBUTING.md +5 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.txt +165 -0
  8. data/README.md +197 -0
  9. data/Rakefile +7 -0
  10. data/epics.gemspec +50 -0
  11. data/lib/epics.rb +35 -0
  12. data/lib/epics/cct.rb +42 -0
  13. data/lib/epics/cd1.rb +42 -0
  14. data/lib/epics/cdd.rb +42 -0
  15. data/lib/epics/client.rb +216 -0
  16. data/lib/epics/error.rb +324 -0
  17. data/lib/epics/generic_request.rb +99 -0
  18. data/lib/epics/generic_upload_request.rb +89 -0
  19. data/lib/epics/haa.rb +40 -0
  20. data/lib/epics/hia.rb +78 -0
  21. data/lib/epics/hpb.rb +29 -0
  22. data/lib/epics/hpd.rb +40 -0
  23. data/lib/epics/htd.rb +40 -0
  24. data/lib/epics/ini.rb +69 -0
  25. data/lib/epics/key.rb +79 -0
  26. data/lib/epics/mgf.rb +41 -0
  27. data/lib/epics/middleware/parse_ebics.rb +15 -0
  28. data/lib/epics/middleware/xmlsig.rb +18 -0
  29. data/lib/epics/ptk.rb +52 -0
  30. data/lib/epics/response.rb +93 -0
  31. data/lib/epics/signer.rb +40 -0
  32. data/lib/epics/sta.rb +52 -0
  33. data/lib/epics/version.rb +3 -0
  34. data/lib/letter/ini.erb +231 -0
  35. data/spec/client_spec.rb +98 -0
  36. data/spec/fixtures/a006.pem +28 -0
  37. data/spec/fixtures/bank_e.pem +6 -0
  38. data/spec/fixtures/e002.pem +28 -0
  39. data/spec/fixtures/x002.pem +28 -0
  40. data/spec/fixtures/xml/cd1.xml +87 -0
  41. data/spec/fixtures/xml/ebics_business_nok.xml +21 -0
  42. data/spec/fixtures/xml/ebics_technical_nok.xml +12 -0
  43. data/spec/fixtures/xml/hia.xml +2 -0
  44. data/spec/fixtures/xml/hia_request_order_data.xml +2 -0
  45. data/spec/fixtures/xml/hpb.xml +34 -0
  46. data/spec/fixtures/xml/hpb_request.xml +34 -0
  47. data/spec/fixtures/xml/hpb_response.xml +21 -0
  48. data/spec/fixtures/xml/hpb_response_order.xml +22 -0
  49. data/spec/fixtures/xml/htd_order_data.xml +153 -0
  50. data/spec/fixtures/xml/ini.xml +2 -0
  51. data/spec/fixtures/xml/signature_pub_key_order_data.xml +2 -0
  52. data/spec/fixtures/xml/upload_init_response.xml +31 -0
  53. data/spec/hpb_spec.rb +15 -0
  54. data/spec/key_spec.rb +35 -0
  55. data/spec/mgf_spec.rb +36 -0
  56. data/spec/middleware/parse_ebics_spec.rb +18 -0
  57. data/spec/orders/cct_spec.rb +17 -0
  58. data/spec/orders/cd1_spec.rb +17 -0
  59. data/spec/orders/cdd_spec.rb +17 -0
  60. data/spec/orders/haa_spec.rb +11 -0
  61. data/spec/orders/hia_spec.rb +34 -0
  62. data/spec/orders/hpb_spec.rb +11 -0
  63. data/spec/orders/hpd_spec.rb +11 -0
  64. data/spec/orders/htd_spec.rb +11 -0
  65. data/spec/orders/ini_spec.rb +36 -0
  66. data/spec/orders/ptk_spec.rb +11 -0
  67. data/spec/orders/sta_spec.rb +11 -0
  68. data/spec/response_spec.rb +34 -0
  69. data/spec/signer_spec.rb +34 -0
  70. data/spec/spec_helper.rb +43 -0
  71. data/spec/support/ebics_matcher.rb +22 -0
  72. data/spec/xsd/ebics_H004.xsd +11 -0
  73. data/spec/xsd/ebics_hev.xsd +135 -0
  74. data/spec/xsd/ebics_keymgmt_request_H004.xsd +543 -0
  75. data/spec/xsd/ebics_keymgmt_response_H004.xsd +137 -0
  76. data/spec/xsd/ebics_orders_H004.xsd +1892 -0
  77. data/spec/xsd/ebics_request_H004.xsd +355 -0
  78. data/spec/xsd/ebics_response_H004.xsd +166 -0
  79. data/spec/xsd/ebics_signature.xsd +217 -0
  80. data/spec/xsd/ebics_types_H004.xsd +2426 -0
  81. data/spec/xsd/xmldsig-core-schema.xsd +318 -0
  82. metadata +319 -0
@@ -0,0 +1,98 @@
1
+ RSpec.describe Epics::Client do
2
+
3
+ subject { described_class.new( File.read(File.join( File.dirname(__FILE__), 'fixtures', 'SIZBN001.key')), 'secret' , 'https://194.180.18.30/ebicsweb/ebicsweb', 'SIZBN001', 'EBIX', 'EBICS') }
4
+
5
+ describe 'attributes' do
6
+ it { expect(subject.host_id).to eq('SIZBN001') }
7
+ it { expect(subject.keys_content).to match(/SIZBN001.E002/) }
8
+ it { expect(subject.passphrase).to eq('secret') }
9
+ it { expect(subject.partner_id).to eq('EBICS') }
10
+ it { expect(subject.url).to eq('https://194.180.18.30/ebicsweb/ebicsweb') }
11
+ it { expect(subject.user_id).to eq('EBIX') }
12
+
13
+ it 'holds all keys, user and bank' do
14
+ expect(subject.keys).to match(a_hash_including(
15
+ "E002" => be_a(Epics::Key),
16
+ "X002" => be_a(Epics::Key),
17
+ "A006" => be_a(Epics::Key),
18
+ "SIZBN001.E002" => be_a(Epics::Key),
19
+ "SIZBN001.X002" => be_a(Epics::Key)
20
+ ))
21
+ end
22
+
23
+ end
24
+
25
+ describe '#e' do
26
+ it 'the encryption key' do
27
+ expect(subject.e.public_digest).to eq("rwIxSUJAVEFDQ0sdYe+CybdspMllDG6ArNtdCzUbT1E=")
28
+ end
29
+ end
30
+
31
+ describe '#x' do
32
+ it 'the signing key' do
33
+ expect(subject.x.public_digest).to eq("Jjcu97qg595PPn+0OvqBOBIskMIiStNYYXyjgWHeBhE=")
34
+ end
35
+ end
36
+
37
+ describe '#a' do
38
+ it 'the authentication key' do
39
+ expect(subject.a.public_digest).to eq("9ay3tc+I3MgJBaroeD7XJfOtHcq7IR23fljWefl0dzk=")
40
+ end
41
+ end
42
+
43
+ describe '#bank_e' do
44
+ it 'the banks encryption key' do
45
+ expect(subject.bank_e.public_digest).to eq("dFAYe281vj9NB7w+VoWIdfHnjY9hNbZLbHsDOu76QAE=")
46
+ end
47
+ end
48
+
49
+ describe '#bank_x' do
50
+ it 'the banks signing key' do
51
+ expect(subject.bank_x.public_digest).to eq("dFAYe281vj9NB7w+VoWIdfHnjY9hNbZLbHsDOu76QAE=")
52
+ end
53
+ end
54
+
55
+ describe '#HPB' do
56
+ before do
57
+ stub_request(:post, "https://194.180.18.30/ebicsweb/ebicsweb")
58
+ .with(:body => %r[<?xml(.*)ebicsNoPubKeyDigestsRequest>])
59
+ .to_return(status: 200, body: File.read(File.join(File.dirname(__FILE__), 'fixtures', 'xml', 'hpb_response.xml')))
60
+ end
61
+
62
+ it { expect(subject.HPB).to match([be_a(Epics::Key), be_a(Epics::Key)]) }
63
+
64
+ it 'changes the SIZBN001.(E|X)002 keys' do
65
+ expect { subject.HPB }.to change { subject.keys["SIZBN001.E002"] }
66
+ expect { subject.HPB }.to change { subject.keys["SIZBN001.X002"] }
67
+ end
68
+
69
+ describe 'crypto' do
70
+ let(:e_key) do
71
+ Epics::Key.new(OpenSSL::PKey::RSA.new(File.read(File.join(File.dirname(__FILE__), 'fixtures', 'bank_e.pem'))))
72
+ end
73
+
74
+ before { subject.HPB }
75
+
76
+ it { expect(subject.keys["SIZBN001.E002"].public_digest).to eq(e_key.public_digest) }
77
+ it { expect(subject.keys["SIZBN001.X002"].public_digest).to eq(e_key.public_digest) }
78
+ end
79
+ end
80
+
81
+ describe '#HTD' do
82
+ before do
83
+ allow(subject).to receive(:download).and_return( File.read(File.join(File.dirname(__FILE__), 'fixtures', 'xml', 'htd_order_data.xml')))
84
+ end
85
+
86
+ it 'sets @iban' do
87
+ expect { subject.HTD }.to change { subject.instance_variable_get("@iban") }
88
+ end
89
+
90
+ it 'sets @bic' do
91
+ expect { subject.HTD }.to change { subject.instance_variable_get("@bic") }
92
+ end
93
+
94
+ it 'sets @name' do
95
+ expect { subject.HTD }.to change { subject.instance_variable_get("@name") }
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,28 @@
1
+ -----BEGIN PRIVATE KEY-----
2
+ MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDXjmjtnx5eemu2
3
+ 3EuBQJ308rxoom5osnnfScdcInwqI7s8y6Z0lVp2w5tsMgdf2FytVf3JZSviwq2r
4
+ +PMTJ6IGtGkXFca0graQFvjwelp9YSpDVtpv8CLj9VYPiwdhALAFbwojKwqchilF
5
+ BjUOcdD4fdd8WFIGeNUavwjSdsOALbgoG6+Sr0U8LyhL+CRCeaspnnat2MtZLere
6
+ R20JC8zKTDgbTC81AYmVL9bEwKRLSt/QnQiPBgBLGXVuXj0na++8tKrAO0Ak8VpY
7
+ i6TQwceATrmCc/SHXo6rTU+MwA+7EAemGoueC8ydJaR5gN22it/2N4ASasQt1h0g
8
+ X+vMeuonAgMBAAECggEAKXjTxUwE6saA7Nirij2lZlhBWZxOw8P64LPwMFDONMlV
9
+ H9hKuUl28zylLYbellkpU4wk3NejPuiXw2uNUNUiPkn9ohxlc5tmhoh08seHm3HT
10
+ UMtoEXtRKyyrlyf3jnk0ZIc9mxCP5ReG3ynXkWTigLytddYESgx7a77vcpa4/HL0
11
+ 9QEkrZCG92m4ga4/rvwSR/V/UcwNarf96/W4leKlmgfXuz0V7Md6tfoubc3pnfI8
12
+ I9D7Xp9eRRxWLqLNhpJ5R5JJOsC8qIwuvN/2qjtT8ClAzg85DSu7hUxv8cVqxcWe
13
+ jy+hYpnnolDaTt29Htg5Qo0+K6DMaBA/oisPsz2t4QKBgQDzimHfoaNo8LcXPkr7
14
+ eQt/HQvvkkrppfoktMQes142YtaM1e2lWNgtVXG9mwFKI/GrSJ6yJVCC4CGa3zX7
15
+ euWEUVuWxmpEpH8Tvi0G3389MIECWLxgkWNN4knmC2IwBM6oD4ihd819wWzwsPpn
16
+ a+5Df3yL4/FflhttJCNCUoJR0QKBgQDilYV6ShIVL1XgyP8YPDU8t5vm7n6RoTnP
17
+ tJ2gu2lW4fqeHO30jgcPBw8UG6FGYalcCixxGVrrrGmgJe1lHYLUOOdn4x5JqZAn
18
+ 7I/hm7QSK1C1+qJMWCaQxzo+2DclJOs4oXgES35RiKb3ErDlQW2GyOgNZoLQFFCx
19
+ HSJKiJ9CdwKBgFFSmDQQyXw1RS4hwvAOD2S20lGBTDqRDeJL6mFGC+OlRXdpyB06
20
+ eZVJvt1NcTTMo9pKOZPLGgNZzF7mwiPjedihQjAquTmKpFR3YJm278oC9FFQSDcG
21
+ 1V4gfgSvMG5QbKF57mnck2W2vSXyMutuAvXPEEu2JdeBTE85jfyLiLDBAoGARcse
22
+ yVNljIb/IfVntjRdha1c5V5TOFJ8N0GASFFSGkQTaX6pwWm6POPEvkHghIhynXo4
23
+ xEG2IuABzSXBoSLc+Lfqd7Ka0r/bOqEAlNLcPbh/7P4d3fxNLM1hYJhDLDraBaCf
24
+ EluatkyseXCVcpibvyfFatNHugZ38IZz2JeKzvMCgYBdz52dlr4TSMigbI93B6Ox
25
+ 4bBsu/kue+eL1kcOBEBa/uMQLEWgQLWpHkskVpRzpbyu2drSozW6wOx6EBt7HlRV
26
+ eG8rYi6P6SOiUoaLWcRqnaFCL5JgzGMlgmcIhwA9ABCdo6gMWJFXkkrIyKBm2FsQ
27
+ KfJIQL6xXtLW1h+56l93XA==
28
+ -----END PRIVATE KEY-----
@@ -0,0 +1,6 @@
1
+ -----BEGIN PUBLIC KEY-----
2
+ MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCdv9DqCGcnW/bICm4sKg3MANDb
3
+ XFDCGIuhiuz6qEbM7tbsrRp8SY0IRretpDLJVry4Hm1EsHav092MhrGtykHiBmlF
4
+ J/YqsrtwaDTjHaNgyzeDXRjGNVkfx22ESkdyR8lEYUwSsNuyknEUXShpeo2PlXF3
5
+ EyiS/D41zEB+XA+hswIDAQAB
6
+ -----END PUBLIC KEY-----
@@ -0,0 +1,28 @@
1
+ -----BEGIN PRIVATE KEY-----
2
+ MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDWuSNkXpPgLrr3
3
+ gKaI5unAj3yTieBqoN4GkhBXyafb9EQCsSOeDBqcklt03nWkLL9KfXRmK2o+yziY
4
+ +nKRxMnI0PE7N1mTXbB3MiihOLLIwmgjw36xNYFaUa9PwRHZkQc5tkkAZaoHqw5G
5
+ NMRE+qqxDz6xQ1xKhJd9ycxWtuCltVL8uyBDCWeramaxGrfkORV/7TdSFizdCSm3
6
+ OFpBcYWZsMNviilPGnVmAmrOXof4YMOEUDn7HPULk9rg4vaM04LK5G7rTDKYfWBz
7
+ pw6Ze9hMrIJJVj6Tz/A92rqsXXKVpxMRYWFuL7VkDxFUk+pDM57qBfExcUWgpN6f
8
+ VO2SBebpAgMBAAECggEBAJb7Q1mV7yDZevoBahglVgPiYNRVRIl1Z+jy168Cypcs
9
+ 4I2MBOFi3WtutgQtUEcKd89m+2vD50cUGk3m/Jxm5QPhd14OA1xNqoGFsW/7sCre
10
+ F9/d3L26Q6RAf6byuRxkj9ISzK4MzkvqCXVwMPnX0CID+C8okEKNjQAT3yyyFrAs
11
+ z99pAoPD7xfGyZDbpSpdzmm62z69znCZjej1QrknVNmi27/8blat+wHIzTBiyiav
12
+ jhcCbZ2YQFghE/Lb1B8dCJvj7eihwTiNWdc61u9U3zCN/AyxV4rl97/NG/bT5jeK
13
+ fwkd3yCFSMLBTi0+3GyCv9gN7kokBdFEbkd1oyl43SECgYEA62RFlP2DdAZZMxn6
14
+ Q/O8yAncIgLZ+2RlSLn4BWdBHM+O4DGAdXSMjb4BG30UxLZyEwHodSKfolMJdMS/
15
+ UNQXffOTJmNRgbT75iCi+3QYHa+ZXPKUs0YUyWTxH6IlX0soHtAXQBz6TZgj1Alx
16
+ hRZ33xdAfOt+yrjebIySWxW6hd0CgYEA6YWiAlnaa8v3VvJCshpx68HEeyyKukvg
17
+ HiwyxGO9BoK8sgou/8cQgxhj45foTBwuGspgiyXl5Y6Lr/C+C9s81kskkGzIRZHF
18
+ 1t9iQjiIxNaqb5k7+2LmR5ScV/ckkgWd/nfFY94iMCSovLUGJIleB3infKZ2pwHl
19
+ F1sI/8CdEn0CgYEAiZTc+p1GVO1U+4JGfasbfwwMRzDFeaMPc/eGWJomO5GxH6av
20
+ P3d0o3AXs5pjJirA+A0YckZfaYABOee5LqQYavyP2FMak6ZVyQbwW+paIhe9ms8K
21
+ TNI8Wg4OxP9/unfyJjhYLpgBUJMI9ejjGfes7o7nmVwHirONBYMQE/7aO10CgYEA
22
+ pkfbhqUInL2OD8FNsJiYCfHdwH+FAQbKPXHnbGRA0wQA7R3HPaY3ocGaTxN5+8gN
23
+ JFJ60FpaC02nNc7M5JBmD4lOLfDn4nHcWBaUVub+rHrWvcR1K5nOs6WkdharWbba
24
+ O7p5OZWQ7osMA+M6zoVqCRPm3yGBV4ZH5IuUKtiyf9kCgYEAqvbm6V0fu/sphEqj
25
+ TxoAG6c/Q7aFu7TD3a6znnnml7gTyuWG88Kt8xwUILKhUJpdf3cpeu+FJ0MTn45q
26
+ cbjkhO/fZMVaGzO9IIuu0L3T61fyVhUGB/MNjFGAs8iL0trcrw6/sKFSXm/wuax5
27
+ 7YFHryPYM/JT+Ob4xvB6F+1FD6Q=
28
+ -----END PRIVATE KEY-----
@@ -0,0 +1,28 @@
1
+ -----BEGIN PRIVATE KEY-----
2
+ MIIEuwIBADANBgkqhkiG9w0BAQEFAASCBKUwggShAgEAAoIBAQCmF+Dka//jCuwa
3
+ 07aajfdTFyIL8NKbDRF1sGELm9U+yqCa+UOBnVumwZbCxc6IFTkHGlsI2+0EtLuN
4
+ H/i1KA2IOtaYk8szTnKAUrOHKH/w13aq1kK38lpC6exJ82kgub5v2HVmK5BGcI6y
5
+ +wmrt5QKuomdTkt/8BZYTmD0+Vo5xTTU1GoloxHA4jgj7m7TUvUl0n3rytcCSGCU
6
+ gtLDDTK4p2jmpP8KQ48Dq7h7iLM/G8c8Ynnp13rWtF88q92u9K67qAQ7OiVLozq5
7
+ 6sYPqsgyKQyG5B/tHUIblwsKMZAoMMOnY1qp7NYDWsPfRHFshgvbertUs5XSfrve
8
+ +OIOVqtdAgMBAAECggEAL4QzTYXsLcsJIt+gpPSqZfX/QoVB6yPA8/divAx35D/Z
9
+ 1JwtCN64wqstc0ldvaa8quCKXK12UFtYMJaN812jCW8zx3C4uFPgBAAk5iza9U7e
10
+ 3x7u9Wr7EZuUgs+FKtyYs6ysYW9jFhPLbz7MVHjvfGZDSmKEzPQloFvD9zGC83WV
11
+ /ns+UYnwVTXRvSe68idMhuyzRdl/T//FiAPVr0oq6BIAJ+YfBcGX4NA9Whcnij6Y
12
+ /qHyEL3kPJGl6u8O9NwyVIPIX50/060dJabV9g28R3BRmldlKARYZtOto/PMp0eB
13
+ D1a/4F/Ak18IX+XUUF796AInCtQ/mA5vM2gyrLJXbQKBgQDkax3FLFT9frmDMujK
14
+ 4IzmrAfm1qM+mgNj1kRYpJVcmRr4AMGBYkDfmw5pRrMa76Ms8KaqujhNQVLqxIxb
15
+ rrXRK3vjiMnb6b7Sm8fqr4us5q3jUq/u7L0KjhvUXWv6rvnc03htIviTalkC8TsA
16
+ WK2dy1Es56mF+YcDt38aP22OuwKBgQC6JinfsHUCNKquNdwB/8Tb/l6D/JuZGM07
17
+ 4edJSlczVhWNUD//iQ/dyTOja42MKqFs0x1Nrnf2wZSYr32ZdbIaaNxcun/qHngh
18
+ 5eiyJ8Z8ulSL9GmA9DsEguz1jNC3ooeNNGZfC5vBVT9BR2ngoONA+jgt3VqIfZui
19
+ Am1CNGaoxwKBgQC+W8qmnMiDrg26mj3JfZPPVYUMSsonDMFQfavd1+OmFO6VykN5
20
+ qUF5WEaNU99FznpFpJSxaZosQAlzH7P9YD+j/0IzILdhb46ZBDx6iCu2P1ShQzLd
21
+ wivVVRM6S1UGyLXw48fT5DYW3KUrv5A1PLIL8/pFmxb7UTXE0jK51CxgqwKBgGWn
22
+ Y6SZSzyaID8kgHHDB/EPVvQC5cHUTneOJOzcIQSS1RAnq9tTMQvvzThICrNpsF+q
23
+ Zk0+opppGknLQ+6i3FEZxIUK/8GNRBNW5x0rJXSFmJgZL+hQ902+ZcKuVGiD5DxT
24
+ SjhLMZKBiBqQ8hvOIGwieL1rLP5ugagWZS4LSaiPAn9v//cCKLmAJT31VP1vqTOE
25
+ 5b0/dFiWil+mpWifk6DpPiuNr1XpCuAK1MpBqPZpBlsDglL8lo57MklIvPixJAtg
26
+ NfGFBDi5tQEOm0WpAQ9NAlxpbDKGaY+jdW+gEQOsHzO5Fj/IiCKOhMkljMbX7PYi
27
+ 5wdINkqx9+DJp1dQg7cg
28
+ -----END PRIVATE KEY-----
@@ -0,0 +1,87 @@
1
+ <?xml version='1.0' encoding='utf-8'?>
2
+ <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.003.02">
3
+ <CstmrDrctDbtInitn>
4
+ <GrpHdr>
5
+ <MsgId>3BUCAQDZPOQEYFB4</MsgId>
6
+ <CreDtTm>2014-10-07T16:10:25Z</CreDtTm>
7
+ <NbOfTxs>1</NbOfTxs>
8
+ <CtrlSum>10.00</CtrlSum>
9
+ <InitgPty>
10
+ <Nm>Max Mustermann</Nm>
11
+ </InitgPty>
12
+ </GrpHdr>
13
+ <PmtInf>
14
+ <PmtInfId>3BUCAQDZPOQEYFB4-FRJ5-CORE-FRST</PmtInfId>
15
+ <PmtMtd>DD</PmtMtd>
16
+ <BtchBookg>true</BtchBookg>
17
+ <NbOfTxs>1</NbOfTxs>
18
+ <CtrlSum>10.00</CtrlSum>
19
+ <PmtTpInf>
20
+ <SvcLvl>
21
+ <Cd>SEPA</Cd>
22
+ </SvcLvl>
23
+ <LclInstrm>
24
+ <Cd>CORE</Cd>
25
+ </LclInstrm>
26
+ <SeqTp>FRST</SeqTp>
27
+ </PmtTpInf>
28
+ <ReqdColltnDt>2014-10-15</ReqdColltnDt>
29
+ <Cdtr>
30
+ <Nm>Max Mustermann</Nm>
31
+ </Cdtr>
32
+ <CdtrAcct>
33
+ <Id>
34
+ <IBAN>DE89370400440532013000</IBAN>
35
+ </Id>
36
+ </CdtrAcct>
37
+ <CdtrAgt>
38
+ <FinInstnId>
39
+ <BIC>COBADEFFXXX</BIC>
40
+ </FinInstnId>
41
+ </CdtrAgt>
42
+ <ChrgBr>SLEV</ChrgBr>
43
+ <CdtrSchmeId>
44
+ <Id>
45
+ <PrvtId>
46
+ <Othr>
47
+ <Id>DE98ZZZ09999999999</Id>
48
+ <SchmeNm>
49
+ <Prtry>SEPA</Prtry>
50
+ </SchmeNm>
51
+ </Othr>
52
+ </PrvtId>
53
+ </Id>
54
+ </CdtrSchmeId>
55
+ <DrctDbtTxInf>
56
+ <PmtId>
57
+ <InstrId>95853B700796473D88F1009A40B4DC18</InstrId>
58
+ <EndToEndId>NOTPROVIDED</EndToEndId>
59
+ </PmtId>
60
+ <InstdAmt Ccy="EUR">10.00</InstdAmt>
61
+ <DrctDbtTx>
62
+ <MndtRltdInf>
63
+ <MndtId>M00123456</MndtId>
64
+ <DtOfSgntr>2014-02-01</DtOfSgntr>
65
+ <AmdmntInd>false</AmdmntInd>
66
+ </MndtRltdInf>
67
+ </DrctDbtTx>
68
+ <DbtrAgt>
69
+ <FinInstnId>
70
+ <BIC>BKAUATWW</BIC>
71
+ </FinInstnId>
72
+ </DbtrAgt>
73
+ <Dbtr>
74
+ <Nm>Maria Musterfrau</Nm>
75
+ </Dbtr>
76
+ <DbtrAcct>
77
+ <Id>
78
+ <IBAN>AT611904300234573201</IBAN>
79
+ </Id>
80
+ </DbtrAcct>
81
+ <RmtInf>
82
+ <Ustrd>Purpose</Ustrd>
83
+ </RmtInf>
84
+ </DrctDbtTxInf>
85
+ </PmtInf>
86
+ </CstmrDrctDbtInitn>
87
+ </Document>
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ebicsKeyManagementResponse xmlns="http://www.ebics.org/H003" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Revision="1" Version="H003" xsi:schemaLocation="http://www.ebics.org/H003 http://www.ebics.org/H003/ebics_keymgmt_response.xsd">
3
+ <header authenticate="true">
4
+ <static/>
5
+ <mutable>
6
+ <ReturnCode>000000</ReturnCode>
7
+ <ReportText>[EBICS_OK] OK</ReportText>
8
+ </mutable>
9
+ </header>
10
+ <body>
11
+ <DataTransfer>
12
+ <DataEncryptionInfo authenticate="true">
13
+ <EncryptionPubKeyDigest Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" Version="E002">rwIxSUJAVEFDQ0sdYe+CybdspMllDG6ArNtdCzUbT1E=</EncryptionPubKeyDigest>
14
+ <TransactionKey>CPdd6ODXrCxHWpYrwS/5a3NIZ1R2SDscHHJSONc2I7g8ara7qv5Ra7H03W+336DPQLZQxH+EBRWdE2FQ1vrVTcypK6fkFarmO1dEtQt6Ka89AozC7aQMyp4yGl+zlF+XvFkJXZbRXgoEOPsgcG0xM6nKLXnr1ThYRFOoAasigLDGwqxliyhoR94F9dL7YB8Le/uZeRj78mNp4smkE5ZKKyPhwVx+0IW78YuVCSC2c2qbsMmm4evAvycdpLfuuoG4KVlNMIlvkKeBfMZFELcmeKKm85D2zPYkZ7cqG2IfAAp5qdS6K8P7RY4gtjUhOtP5mi8bZt/ZcjioUmIR9dAMnA==</TransactionKey>
15
+ </DataEncryptionInfo>
16
+ <OrderData>lJ/v1HvOYAZKTPkxULH4mOcUy01+EaAsxLzCPhtieAo9m5AtU5URdyBVfmclHbtWe3ELb02lR37bChynq0Esqpljxx7CiB+kl/bVs7XkNQQmtGPlh08O7ApJ7AHdKPFFvE+SM2OWpSwUrqJGtmyaU6s+RM66o/3Q0wvKi4y3+Q2jm8nkiWZpPfNt52g4ReE9Ge86o+L+EBOBgZm634L5Z/i6pq908mXBAklPdk1ERdEgWONaOeYYmB70FToplR1gINJEF2CnfAtD/wV+DuQFPDth+EWHqhe3a4xO0d9eJ55ou2QCYOPUC2g/qz1sp7GR74W7P5IWJdmnUEuPFsKJ6OvM+1V8S06jZGDa/QhUGDK8F3G/TMP09W1MsrlQTRr3YQ5H43+pMY7I6Jysze+X9OKZZTTpv4GmYm1USjmraGyMuPF3j9hrlmpttK+1gg2WzytCJO44YsZp9ckls8JNK4bT5uwTuomKZoRgmiIOTcMh4VP7V28TWj2XdF+T6rBFILTvQyXMOzvbe1kLwg2O31JDBdJ8X1fHCYJxKsIrYCSDPz4sha8h7QmHrCSFmjoXb+LUElnbLXZVRkY5/Dc73EM6Es3wAgjwSJK2asRqdqU0PhbS5qpIlgYKsNcb+Wes</OrderData>
17
+ </DataTransfer>
18
+ <ReturnCode authenticate="true">091116</ReturnCode>
19
+ <TimestampBankParameter authenticate="true">2009-06-16T17:56:05.698+02:00</TimestampBankParameter>
20
+ </body>
21
+ </ebicsKeyManagementResponse>
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ebicsKeyManagementResponse xmlns="http://www.ebics.org/H003" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Revision="1" Version="H003" xsi:schemaLocation="http://www.ebics.org/H003 http://www.ebics.org/H003/ebics_keymgmt_response.xsd">
3
+ <header authenticate="true">
4
+ <static/>
5
+ <mutable>
6
+ <ReturnCode>061001</ReturnCode>
7
+ <ReportText>[EBICS_AUTHENTICATION_FAILED] Authentication signature error</ReportText>
8
+ </mutable>
9
+ </header>
10
+ <body>
11
+ </body>
12
+ </ebicsKeyManagementResponse>
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <ebicsUnsecuredRequest xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="urn:org:ebics:H004" Version="H004" Revision="1"><header authenticate="true"><static><HostID>SIZBN001</HostID><PartnerID>EBICS</PartnerID><UserID>EBIX</UserID><Product Language="de">EPICS - a ruby ebics kernel</Product><OrderDetails><OrderType>HIA</OrderType><OrderAttribute>DZNNN</OrderAttribute></OrderDetails><SecurityMedium>0000</SecurityMedium></static><mutable/></header><body><DataTransfer><OrderData>eJytlEmTo0YQhe/+FR3tQx8UbhYBWkLSBAKEQIhdiNaNTYCAAqpY9etH7vaMu+05OXyrfC+rIiPfF7X6NhT5UxdBlJZg/UK84i9PEQjKMAXx+qVtrn/MX75tflvtJdaM6jZCjQbDCPJe4z09bgK0DNH6OWmaaolhfd+/9tPXEsYYieM4hi+wR0+I0vj354/u9XMLwfLRsIz8NEDLPY5Tz5sV2zZJBJo08JrHGHrrH6JRAtdys/o4O17eRptViJamxX6pj2XY5i3aVMk1psUOo3qIxEYji3I6PQ1BymG8VfS4GfrbhKM7R0d1XHQ5H18Iv0LiuUeulm5P9HaofE7tmq1izW4mRjVWrKY8PBeyrhxxeox3h3syJthcDcm6uXANJntGC5B1VStJKSb+IiEuaWuYgNNQh+R6Fp04WMvgRCtXjD2fBTpe6LmnBSecUM1a9o5mr0mUNKFbnFAIOZQXzBy6bJbEuaRYfY+P7SEs6drGuEzTWaalIiq960O310WZZsKQIaB51Q9dCDurbZlY0O5lbjFHpo2gyDNQOqbZMWmN68wkOJEOFO4mGgee5ytS9erofmYJyE9xc/ClN4Wc1jNH0RwcMLNpd0v53IOusV6vsE9L/nPhwlCV4JHVhjXY7bv7U3mvvgSEfYnva8rOB3MbF8fJFfZr75/6ZzIEEMCx+q+8EDC7XXaMTXEMs6C4ItX8qpcW84wCsVfz0baSDGdeABIzBRYKNxD3HpBlP1RpouJGzAIEfkmbWkeIKvRqzAJbHlV+0O7hJSPIPrxLZWmn43iUS2muTpB93p5zsbPngklehL3mX2RWPNdbBmnmzRZMva6RMZ+gkxpYpeVeA3B0oB9XvmNhCoqNPgc1WRXIrKc0nznXCT49JW9oamRVc088wxV3hc/zPlVW9lARl1iu7zmzn4g8n+xYejLcCY7WPUpTyJuqcWNrtgzej8WeiAMm0Aq3e7MPI2c5b5NsjvV6WDNwR4y5F9jCeZf46YS4sHPTkfXauGsRE7vD0d3tyoMdAcJustgtmP+Zl78T/sGD8M7Kv/XP2hcaPNiACEr8RthKnPV4/6ewOqEfhrvC/ipW2C/+uc13G17GFA==</OrderData></DataTransfer></body></ebicsUnsecuredRequest>
@@ -0,0 +1,2 @@
1
+ <?xml version='1.0' encoding='utf-8'?>
2
+ <HIARequestOrderData xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="urn:org:ebics:H004"><AuthenticationPubKeyInfo><PubKeyValue><ds:RSAKeyValue><ds:Modulus>phfg5Gv/4wrsGtO2mo33UxciC/DSmw0RdbBhC5vVPsqgmvlDgZ1bpsGWwsXOiBU5BxpbCNvtBLS7jR/4tSgNiDrWmJPLM05ygFKzhyh/8Nd2qtZCt/JaQunsSfNpILm+b9h1ZiuQRnCOsvsJq7eUCrqJnU5Lf/AWWE5g9PlaOcU01NRqJaMRwOI4I+5u01L1JdJ968rXAkhglILSww0yuKdo5qT/CkOPA6u4e4izPxvHPGJ56dd61rRfPKvdrvSuu6gEOzolS6M6uerGD6rIMikMhuQf7R1CG5cLCjGQKDDDp2NaqezWA1rD30RxbIYL23q7VLOV0n673vjiDlarXQ==</ds:Modulus><ds:Exponent>AQAB</ds:Exponent></ds:RSAKeyValue></PubKeyValue><AuthenticationVersion>X002</AuthenticationVersion></AuthenticationPubKeyInfo><EncryptionPubKeyInfo><PubKeyValue><ds:RSAKeyValue><ds:Modulus>1rkjZF6T4C6694CmiObpwI98k4ngaqDeBpIQV8mn2/REArEjngwanJJbdN51pCy/Sn10ZitqPss4mPpykcTJyNDxOzdZk12wdzIooTiyyMJoI8N+sTWBWlGvT8ER2ZEHObZJAGWqB6sORjTERPqqsQ8+sUNcSoSXfcnMVrbgpbVS/LsgQwlnq2pmsRq35DkVf+03UhYs3QkptzhaQXGFmbDDb4opTxp1ZgJqzl6H+GDDhFA5+xz1C5Pa4OL2jNOCyuRu60wymH1gc6cOmXvYTKyCSVY+k8/wPdq6rF1ylacTEWFhbi+1ZA8RVJPqQzOe6gXxMXFFoKTen1TtkgXm6Q==</ds:Modulus><ds:Exponent>AQAB</ds:Exponent></ds:RSAKeyValue></PubKeyValue><EncryptionVersion>E002</EncryptionVersion></EncryptionPubKeyInfo><PartnerID>EBICS</PartnerID><UserID>EBIX</UserID></HIARequestOrderData>
@@ -0,0 +1,34 @@
1
+ <?xml version='1.0' encoding='utf-8'?>
2
+ <ebicsNoPubKeyDigestsRequest xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="urn:org:ebics:H004" Version="H004" Revision="1">
3
+ <header authenticate="true">
4
+ <static>
5
+ <HostID>HOST</HostID>
6
+ <Nonce></Nonce>
7
+ <Timestamp></Timestamp>
8
+ <PartnerID>PARTNER</PartnerID>
9
+ <UserID>USER</UserID>
10
+ <Product Language="de">EPICS - a ruby ebics kernel</Product>
11
+ <OrderDetails>
12
+ <OrderType>HPB</OrderType>
13
+ <OrderAttribute>DZHNN</OrderAttribute>
14
+ </OrderDetails>
15
+ <SecurityMedium>0000</SecurityMedium>
16
+ </static>
17
+ <mutable/>
18
+ </header>
19
+ <AuthSignature>
20
+ <ds:SignedInfo>
21
+ <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
22
+ <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
23
+ <ds:Reference URI="#xpointer(//*[@authenticate='true'])">
24
+ <ds:Transforms>
25
+ <ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
26
+ </ds:Transforms>
27
+ <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
28
+ <ds:DigestValue></ds:DigestValue>
29
+ </ds:Reference>
30
+ </ds:SignedInfo>
31
+ <ds:SignatureValue/>
32
+ </AuthSignature>
33
+ <body/>
34
+ </ebicsNoPubKeyDigestsRequest>
@@ -0,0 +1,34 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <ebicsNoPubKeyDigestsRequest xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="urn:org:ebics:H004" Version="H004" Revision="1">
3
+ <header authenticate="true">
4
+ <static>
5
+ <HostID>HOST</HostID>
6
+ <Nonce>014a82626a51ee1cab547bbaf18a13a0</Nonce>
7
+ <Timestamp>2014-09-09T09:33:12Z</Timestamp>
8
+ <PartnerID>PARTNER</PartnerID>
9
+ <UserID>USER</UserID>
10
+ <Product Language="de">EPICS - a ruby ebics kernel</Product>
11
+ <OrderDetails>
12
+ <OrderType>HPB</OrderType>
13
+ <OrderAttribute>DZHNN</OrderAttribute>
14
+ </OrderDetails>
15
+ <SecurityMedium>0000</SecurityMedium>
16
+ </static>
17
+ <mutable/>
18
+ </header>
19
+ <AuthSignature>
20
+ <ds:SignedInfo>
21
+ <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
22
+ <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
23
+ <ds:Reference URI="#xpointer(//*[@authenticate='true'])">
24
+ <ds:Transforms>
25
+ <ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
26
+ </ds:Transforms>
27
+ <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
28
+ <ds:DigestValue>5PL08o8acS8kewViTEeVqSiWZshzNG3QgZehRk1EJgg=</ds:DigestValue>
29
+ </ds:Reference>
30
+ </ds:SignedInfo>
31
+ <ds:SignatureValue>d+qgWNti7uCsB/CWreyw9AGQOJiqU+CPPrpgdcisauUvJhFszEJasBeky9TsJXgxVsT27fZaHGnV2pO1YwlBmSuJSGRg5ijHCxbG+XyisIwVAVXY7mlkaO5Ms4eznaW2GCPhiwmIJZOcvzYZwzxtrCbAQFoKA+QgBaAytBtWJiOe8nErnb5s7OEg2D0NvWG4hV+NdcXPlUEKiY5Rw4qCukGXnpZmwMw/L+TB1v47eOLpQa/Dl2oJCjZgV4og3Q2o88adpErnKtIdKic8mb5FLXa2gFK63fmpCcwvs8FPb3kR7/QLWSs4WYycKcXDmgDKnVwYYcBfANEq1yFgReRjzQ==</ds:SignatureValue>
32
+ </AuthSignature>
33
+ <body/>
34
+ </ebicsNoPubKeyDigestsRequest>
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ebicsKeyManagementResponse xmlns="http://www.ebics.org/H003" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Revision="1" Version="H003" xsi:schemaLocation="http://www.ebics.org/H003 http://www.ebics.org/H003/ebics_keymgmt_response.xsd">
3
+ <header authenticate="true">
4
+ <static/>
5
+ <mutable>
6
+ <ReturnCode>000000</ReturnCode>
7
+ <ReportText>[EBICS_OK] OK</ReportText>
8
+ </mutable>
9
+ </header>
10
+ <body>
11
+ <DataTransfer>
12
+ <DataEncryptionInfo authenticate="true">
13
+ <EncryptionPubKeyDigest Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" Version="E002">rwIxSUJAVEFDQ0sdYe+CybdspMllDG6ArNtdCzUbT1E=</EncryptionPubKeyDigest>
14
+ <TransactionKey>CPdd6ODXrCxHWpYrwS/5a3NIZ1R2SDscHHJSONc2I7g8ara7qv5Ra7H03W+336DPQLZQxH+EBRWdE2FQ1vrVTcypK6fkFarmO1dEtQt6Ka89AozC7aQMyp4yGl+zlF+XvFkJXZbRXgoEOPsgcG0xM6nKLXnr1ThYRFOoAasigLDGwqxliyhoR94F9dL7YB8Le/uZeRj78mNp4smkE5ZKKyPhwVx+0IW78YuVCSC2c2qbsMmm4evAvycdpLfuuoG4KVlNMIlvkKeBfMZFELcmeKKm85D2zPYkZ7cqG2IfAAp5qdS6K8P7RY4gtjUhOtP5mi8bZt/ZcjioUmIR9dAMnA==</TransactionKey>
15
+ </DataEncryptionInfo>
16
+ <OrderData>lJ/v1HvOYAZKTPkxULH4mOcUy01+EaAsxLzCPhtieAo9m5AtU5URdyBVfmclHbtWe3ELb02lR37bChynq0Esqpljxx7CiB+kl/bVs7XkNQQmtGPlh08O7ApJ7AHdKPFFvE+SM2OWpSwUrqJGtmyaU6s+RM66o/3Q0wvKi4y3+Q2jm8nkiWZpPfNt52g4ReE9Ge86o+L+EBOBgZm634L5Z/i6pq908mXBAklPdk1ERdEgWONaOeYYmB70FToplR1gINJEF2CnfAtD/wV+DuQFPDth+EWHqhe3a4xO0d9eJ55ou2QCYOPUC2g/qz1sp7GR74W7P5IWJdmnUEuPFsKJ6OvM+1V8S06jZGDa/QhUGDK8F3G/TMP09W1MsrlQTRr3YQ5H43+pMY7I6Jysze+X9OKZZTTpv4GmYm1USjmraGyMuPF3j9hrlmpttK+1gg2WzytCJO44YsZp9ckls8JNK4bT5uwTuomKZoRgmiIOTcMh4VP7V28TWj2XdF+T6rBFILTvQyXMOzvbe1kLwg2O31JDBdJ8X1fHCYJxKsIrYCSDPz4sha8h7QmHrCSFmjoXb+LUElnbLXZVRkY5/Dc73EM6Es3wAgjwSJK2asRqdqU0PhbS5qpIlgYKsNcb+Wes</OrderData>
17
+ </DataTransfer>
18
+ <ReturnCode authenticate="true">000000</ReturnCode>
19
+ <TimestampBankParameter authenticate="true">2009-06-16T17:56:05.698+02:00</TimestampBankParameter>
20
+ </body>
21
+ </ebicsKeyManagementResponse>
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <HPBResponseOrderData xmlns="http://www.ebics.org/H003" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="http://www.ebics.org/H003 http://www.ebics.org/H003/ebics_orders.xsd">
3
+ <AuthenticationPubKeyInfo>
4
+ <PubKeyValue>
5
+ <ds:RSAKeyValue>
6
+ <ds:Modulus>AJ2/0OoIZydb9sgKbiwqDcwA0NtcUMIYi6GK7PqoRszu1uytGnxJjQhGt62kMslWvLgebUSwdq/T3YyGsa3KQeIGaUUn9iqyu3BoNOMdo2DLN4NdGMY1WR/HbYRKR3JHyURhTBKw27KScRRdKGl6jY+VcXcTKJL8PjXMQH5cD6Gz</ds:Modulus>
7
+ <ds:Exponent>AQAB</ds:Exponent>
8
+ </ds:RSAKeyValue>
9
+ </PubKeyValue>
10
+ <AuthenticationVersion>X002</AuthenticationVersion>
11
+ </AuthenticationPubKeyInfo>
12
+ <EncryptionPubKeyInfo>
13
+ <PubKeyValue>
14
+ <ds:RSAKeyValue>
15
+ <ds:Modulus>AJ2/0OoIZydb9sgKbiwqDcwA0NtcUMIYi6GK7PqoRszu1uytGnxJjQhGt62kMslWvLgebUSwdq/T3YyGsa3KQeIGaUUn9iqyu3BoNOMdo2DLN4NdGMY1WR/HbYRKR3JHyURhTBKw27KScRRdKGl6jY+VcXcTKJL8PjXMQH5cD6Gz</ds:Modulus>
16
+ <ds:Exponent>AQAB</ds:Exponent>
17
+ </ds:RSAKeyValue>
18
+ </PubKeyValue>
19
+ <EncryptionVersion>E002</EncryptionVersion>
20
+ </EncryptionPubKeyInfo>
21
+ <HostID>SIZBN001</HostID>
22
+ </HPBResponseOrderData>