sepafm 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +14 -30
  3. data/.ruby-version +1 -1
  4. data/.travis.yml +15 -0
  5. data/Gemfile +1 -1
  6. data/LICENSE +16 -4
  7. data/README.md +180 -319
  8. data/Rakefile +7 -2
  9. data/lib/sepa/application_request.rb +100 -131
  10. data/lib/sepa/application_response.rb +28 -84
  11. data/lib/sepa/attribute_checks.rb +169 -0
  12. data/lib/sepa/banks/danske/danske_response.rb +19 -0
  13. data/lib/sepa/banks/danske/soap_danske.rb +132 -0
  14. data/lib/sepa/banks/nordea/nordea_response.rb +20 -0
  15. data/lib/sepa/banks/nordea/soap_nordea.rb +51 -0
  16. data/lib/sepa/client.rb +72 -60
  17. data/lib/sepa/error_messages.rb +15 -0
  18. data/lib/sepa/response.rb +88 -85
  19. data/lib/sepa/soap_builder.rb +51 -341
  20. data/lib/sepa/utilities.rb +132 -0
  21. data/lib/sepa/version.rb +1 -1
  22. data/lib/sepa/xml_schemas/PKIFactory.xsd +334 -0
  23. data/lib/sepa/xml_schemas/xml_id.xsd +9 -0
  24. data/lib/sepa/xml_templates/application_request/create_certificate.xml +15 -10
  25. data/lib/sepa/xml_templates/application_request/danske_get_bank_certificate.xml +13 -9
  26. data/lib/sepa/xml_templates/application_request/download_file.xml +32 -30
  27. data/lib/sepa/xml_templates/application_request/download_file_list.xml +29 -27
  28. data/lib/sepa/xml_templates/application_request/encrypted_request.xml +22 -0
  29. data/lib/sepa/xml_templates/application_request/get_certificate.xml +9 -8
  30. data/lib/sepa/xml_templates/application_request/get_user_info.xml +26 -24
  31. data/lib/sepa/xml_templates/application_request/upload_file.xml +29 -27
  32. data/lib/sepa/xml_templates/soap/create_certificate.xml +17 -15
  33. data/lib/sepa/xml_templates/soap/danske_get_bank_certificate.xml +15 -13
  34. data/lib/sepa/xml_templates/soap/download_file.xml +19 -15
  35. data/lib/sepa/xml_templates/soap/download_file_list.xml +19 -15
  36. data/lib/sepa/xml_templates/soap/get_certificate.xml +2 -1
  37. data/lib/sepa/xml_templates/soap/get_user_info.xml +19 -15
  38. data/lib/sepa/xml_templates/soap/header.xml +48 -37
  39. data/lib/sepa/xml_templates/soap/upload_file.xml +19 -15
  40. data/lib/sepafm.rb +20 -18
  41. data/{sepa.gemspec → sepafm.gemspec} +10 -9
  42. data/test/sepa/banks/danske/danske_cert_response_test.rb +52 -0
  43. data/test/sepa/banks/danske/danske_cert_soap_builder_test.rb +100 -0
  44. data/test/sepa/banks/danske/danske_generic_soap_builder_test.rb +278 -0
  45. data/test/sepa/banks/danske/danske_get_bank_cert_test.rb +111 -0
  46. data/{lib/sepa/danske_testing/keys/danske_encryption.crt → test/sepa/banks/danske/keys/bank_encryption_cert.pem} +0 -0
  47. data/test/sepa/{danske_test_keys/danskeroot.pem → banks/danske/keys/bank_root_cert.pem} +1 -1
  48. data/test/sepa/banks/danske/keys/bank_signing_cert.pem +24 -0
  49. data/test/sepa/banks/danske/keys/danske_encryption.crt +24 -0
  50. data/test/sepa/banks/danske/keys/enc_private_key.pem +27 -0
  51. data/test/sepa/{danske_test_keys → banks/danske/keys}/encryption_pkcs.csr +0 -0
  52. data/test/sepa/banks/danske/keys/own_enc_cert.pem +21 -0
  53. data/test/sepa/banks/danske/keys/own_signing_cert.pem +22 -0
  54. data/test/sepa/{danske_test_keys → banks/danske/keys}/signing_key.pem +0 -0
  55. data/test/sepa/{danske_test_keys → banks/danske/keys}/signing_pkcs.csr +0 -0
  56. data/test/sepa/banks/danske/keys/signing_private_key.pem +27 -0
  57. data/test/sepa/banks/danske/responses/create_cert.xml +38 -0
  58. data/test/sepa/banks/danske/responses/get_bank_cert.xml +37 -0
  59. data/{lib/sepa/nordea_testing → test/sepa/banks/nordea}/keys/nordea.crt +0 -4
  60. data/test/sepa/{nordea_test_keys → banks/nordea/keys}/nordea.key +0 -3
  61. data/test/sepa/{nordea_test_keys → banks/nordea/keys}/root_cert.cer +0 -0
  62. data/test/sepa/{nordea_test_keys → banks/nordea/keys}/testcert.csr +0 -0
  63. data/test/sepa/banks/nordea/nordea_application_request_test.rb +252 -0
  64. data/test/sepa/{application_response_test.rb → banks/nordea/nordea_application_response_test.rb} +40 -46
  65. data/test/sepa/banks/nordea/nordea_cert_application_request_test.rb +72 -0
  66. data/test/sepa/banks/nordea/nordea_cert_request_soap_builder_test.rb +65 -0
  67. data/test/sepa/banks/nordea/nordea_generic_soap_builder_test.rb +280 -0
  68. data/test/sepa/banks/nordea/nordea_response_test.rb +116 -0
  69. data/test/sepa/banks/nordea/responses/df_ktl.xml +45 -0
  70. data/test/sepa/{test_files/test_responses/df.xml → banks/nordea/responses/df_tito.xml} +1 -1
  71. data/test/sepa/{test_files/test_responses → banks/nordea/responses}/dfl.xml +0 -0
  72. data/test/sepa/banks/nordea/responses/gbc.xml +15 -0
  73. data/test/sepa/banks/nordea/responses/gc.xml +49 -0
  74. data/test/sepa/{test_files/test_responses → banks/nordea/responses}/gui.xml +0 -0
  75. data/test/sepa/{test_files/test_responses → banks/nordea/responses}/uf.xml +0 -0
  76. data/test/sepa/client_test.rb +156 -302
  77. data/test/sepa/fixtures.rb +214 -0
  78. data/test/sepa/sepa_test.rb +3 -13
  79. data/test/sepa/test_files/{invalid.wsdl → invalid_wsdl.wsdl} +0 -0
  80. data/test/test_helper.rb +29 -3
  81. metadata +140 -116
  82. data/lib/danske_get_bank_certificate_test.rb +0 -15
  83. data/lib/sepa/custom_exceptions.rb +0 -2
  84. data/lib/sepa/filedescriptor.rb +0 -7
  85. data/lib/sepa/filetypeservice.rb +0 -6
  86. data/lib/sepa/nordea_testing/keys/CSR.csr +0 -0
  87. data/lib/sepa/nordea_testing/keys/nordea.key +0 -19
  88. data/lib/sepa/nordea_testing/response/content_053.xml +0 -998
  89. data/lib/sepa/nordea_testing/response/content_054.xml +0 -1
  90. data/lib/sepa/nordea_testing/response/download_file_response.xml +0 -14
  91. data/lib/sepa/nordea_testing/response/download_filelist_response.xml +0 -14
  92. data/lib/sepa/nordea_testing/response/get_user_info_response.xml +0 -14
  93. data/lib/sepa/nordea_testing/response/upload_file_response.xml +0 -14
  94. data/lib/sepa/payload.rb +0 -109
  95. data/lib/sepa/payment.rb +0 -97
  96. data/lib/sepa/sender_verifier.rb +0 -15
  97. data/lib/sepa/signature.rb +0 -7
  98. data/lib/sepa/soap_danske.rb +0 -47
  99. data/lib/sepa/soap_nordea.rb +0 -68
  100. data/lib/sepa/transaction.rb +0 -178
  101. data/lib/sepa/userfiletype.rb +0 -16
  102. data/lib/sepa/xml_parser.rb +0 -291
  103. data/lib/sepa_client_testing_mika.rb +0 -32
  104. data/lib/sepa_client_testing_tiere.rb +0 -257
  105. data/test/sepa/application_request_test.rb +0 -423
  106. data/test/sepa/cert_application_request_test.rb +0 -99
  107. data/test/sepa/nordea_cert_request_soap_builder_test.rb +0 -112
  108. data/test/sepa/nordea_generic_soap_builder_test.rb +0 -427
  109. data/test/sepa/nordea_test_keys/nordea.crt +0 -27
  110. data/test/sepa/payload_test.rb +0 -297
  111. data/test/sepa/payment_test.rb +0 -198
  112. data/test/sepa/response_test.rb +0 -269
  113. data/test/sepa/transaction_test.rb +0 -362
  114. data/test/sepa/user_file_type_test.rb +0 -21
  115. data/test/sepa/xml_parser_test.rb +0 -73
@@ -1 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
@@ -1,14 +0,0 @@
1
- <c2b:ApplicationResponse xmlns:c2b="http://bxd.fi/xmldata/"><c2b:CustomerId>679155330</c2b:CustomerId><c2b:Timestamp>2010-07-12T09:35:28+02:00</c2b:Timestamp><c2b:ResponseCode>00</c2b:ResponseCode><c2b:ResponseText>OK.</c2b:ResponseText><c2b:Encrypted>false</c2b:Encrypted><c2b:Compressed>false</c2b:Compressed><c2b:Content>PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL3N0cmljdC5kdGQiPg0KPGh0bWw+PGhlYWQ+DQo8IS0tIE5vcmRlYSBhY2NvdW50IHN0YXRlbWVudCxIVE1MIGxheW91dCAoTU9pKSwgbGFzdCBtb2Q6IDA5LjAxLjIwMDggYnkgc29tLCBnZW5lcmF0ZWQgLS0+IDwhLS0gRnJpIEFwciAyMyAwODo1Mzo1NCAyMDEwIC0tPg0KPG1ldGEgaHR0cC1lcXVpdj0iRXhwaXJlcyIgY29udGVudD0iMCI+PG1ldGEgaHR0cC1lcXVpdj0iUHJhZ21hIiBjb250ZW50PSJuby1jYWNoZSI+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KaW1nIHtwYWRkaW5nLWJvdHRvbTogMnB0OyB3aWR0aDogMTE3cHg7IGhlaWdodDogMjdweDt9IA0KdGQsIHRoIHt2ZXJ0aWNhbC1hbGlnbjogdG9wO30NCmIge2ZvbnQtd2VpZ2h0OiBib2xkO30NCnByZSB7bWFyZ2luOiAwfQ0KLnhiIHt0ZXh0LWFsaWduOiByaWdodDsgZm9udC13ZWlnaHQ6IGJvbGQ7fQ0KLnhyIHt0ZXh0LWFsaWduOiByaWdodDt9DQoueGMge3RleHQtYWxpZ246IGNlbnRlcjt9DQouZnIge2Zsb2F0OiByaWdodDt9DQouZnJyIHtmbG9hdDogcmlnaHQ7IHRleHQtYWxpZ246IHJpZ2h0O30NCi5wZ19oZWFkZXIge3dpZHRoOiAxMDAlOyBoZWlnaHQ6IDM0bW07fSANCi5wZ19tYWluICAge3dpZHRoOiAxMDAlOyBoZWlnaHQ6IDIxMG1tOyBmb250OiA4cHQvMTBwdCBDb3VyaWVyIE5ldywgTW9ub3NwYWNlO30NCi5wZ19tYWluX3Qge3dpZHRoOiAxMDAlOyBoZWlnaHQ6IDIxMG1tOyBmb250OiAxMHB0LzExcHQgQ291cmllciBOZXcsIE1vbm9zcGFjZTt9DQoucGdfZm9vdGVyIHt3aWR0aDogMTAwJTsgaGVpZ2h0OiA4bW07IHBhZGRpbmctdG9wOiAybW07fQ0KLmZvb3Rub3RlICB7Zm9udC1zaXplOiA3cHQ7fQ0KLmluZm8ge3BhZGRpbmctdG9wOiAybW07IHBhZGRpbmctYm90dG9tOiAybW07IHBhZGRpbmctbGVmdDogMnB4O30NCi5pbmZvX2wge3BhZGRpbmctdG9wOiAybW07IHBhZGRpbmctYm90dG9tOiAybW07IHBhZGRpbmctbGVmdDogNm1tOyAgaGVpZ2h0OiAxNjBtbTt9DQouaW5mb19kIHtwYWRkaW5nLXRvcDogMm1tOyBwYWRkaW5nLWJvdHRvbTogMm1tOyBwYWRkaW5nLWxlZnQ6IDZtbTt9DQpib2R5IHsgZm9udDogOXB0LzExcHQgQXJpYWwsIFRpbWVzIE5ldyBSb21hbjsgY29sb3I6ICMwMDA7IGJhY2tncm91bmQ6ICM5OTk7IG1hcmdpbjogMm1tOyBwYWRkaW5nOiAwO30NCi8qIHByaW50IHBhZ2UgQTQgaW1pdGF0aW9uIHdpdGggYWJvdXQgMjBtbSBwcmludCBtYXJnaW5zIChBNDogMjEweDI5N21tLCBMZXR0ZXI6IDIxNngyNzltbSkgKi8NCi5teXBnLCAubXlwZ19sYXN0IHtiYWNrZ3JvdW5kOiAjZmZmOyB3aWR0aDogMTY4bW07IGhlaWdodDogMjU0bW07IGJvcmRlci1yaWdodDogMnB0IHNvbGlkICMwMDA7IGJvcmRlci1ib3R0b206IDJwdCBzb2xpZCAjMDAwOyBwYWRkaW5nOiAyMG1tO30NCi5ub19wcm50IHsgaGVpZ2h0OiAybW07IG1hcmdpbjogMDt9DQo8L3N0eWxlPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0icHJpbnQiPg0KLyogcmVhbCBwcmludCAqLw0KYm9keSB7YmFja2dyb3VuZDogI2ZmZjsgcGFkZGluZzogMDsgbWFyZ2luOiAwfQ0KLm15cGcge2JvcmRlcjogMDsgcGFkZGluZzogMXB0OyBtYXJnaW46IGF1dG87IHBhZ2UtYnJlYWstYWZ0ZXI6IGFsd2F5czt9DQoubXlwZ19sYXN0IHtib3JkZXI6IDA7IHBhZGRpbmc6IDFwdDsgbWFyZ2luOiBhdXRvO30NCi5ub19wcm50IHtkaXNwbGF5OiBub25lO30gDQo8L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHk+PGRpdiBpZD0iQVNfMTY2MDMwLTk5NjJfMDcuMDUuMjAxMF8wMjFfMSIgY2xhc3M9Im15cGciPjxkaXYgY2xhc3M9InBnX2hlYWRlciI+DQo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSI+PGNvbCB3aWR0aD0iNDAlIj48Y29sIHdpZHRoPSIyNSUiPjxjb2wgd2lkdGg9IjM1JSI+PHRib2R5Pg0KPHRyPjx0ZD48aW1nIHNyYz0iaHR0cDovL3NvbG8ubm9yZGVhLmZpL2kyMzYwbm90LmdpZiIgYWx0PSJOb3JkZWEiPjxicj4xNjYwIFN1dXJ5cml0eXNwYWx2ZWx1dDwvdGQ+PHRkPjxiPlRJTElPVEU8L2I+PGJyPlDkaXbkbeTkcuQ8YnI+MDcuMDUuMjAxMDwvdGQ+PHRkPjxzcGFuIGNsYXNzPSJmcnIiPlNpdnUmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsxPGJyPkthdXNpPGJyPjA3LjA1LjIwMTA8L3NwYW4+PGI+MDIxIC8gMjAxMDwvYj48L3RkPjwvdHI+DQo8dHI+PHRkPiZuYnNwOzxicj5TT0ZUIElNUExFTUVOVEFUSU9OIElOQzwvdGQ+PHRkPlNoZWtraXRpbGk8YnI+MTY2MDMwLTk5NjI8L3RkPjx0ZD5WYWx1dXR0YTxicj5FVVI8L3RkPjwvdHI+DQo8dHI+PHRkPiZuYnNwOzwvdGQ+PHRkPklCQU48YnI+Rkk2OSAxNjYwIDMwMDAgMDA5OSA2MjwvdGQ+PHRkPjxzcGFuIGNsYXNzPSJmcnIiPlNXSUZUL0JJQzxicj5OREVBRklISDwvc3Bhbj4NCg0KDQo8L3RkPjwvdHI+DQo8L3Rib2R5PjwvdGFibGU+PC9kaXY+PGRpdiBjbGFzcz0icGdfbWFpbiI+DQo8dGFibGUgYm9yZGVyPSIxIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIiAgaGVpZ2h0PSIxMDAlIiBydWxlcz0iZ3JvdXBzIj4NCjxjb2xncm91cCBzcGFuPSIxIiB3aWR0aD0iMjQlIj48Y29sZ3JvdXAgc3Bhbj0iMSIgd2lkdGg9IjglIj48Y29sZ3JvdXAgc3Bhbj0iMSIgd2lkdGg9IjQyJSI+PGNvbGdyb3VwIHNwYW49IjEiIHdpZHRoPSI1JSI+PGNvbGdyb3VwIHNwYW49IjEiIHdpZHRoPSIyMSUiPjx0aGVhZD48dHI+PHRkPkFya2lzdG9pbnRpdHVubnVzPGJyPlNhYWphbiB0aWxpbnVtZXJvPC90ZD48dGQ+TWFrc3VwPGJyPkFydm9wPC90ZD48dGQ+U2FhamEgLyBNYWtzYWphPGJyPlZpZXN0aTwvdGQ+PHRkPlRhcC48YnI+bnJvPC90ZD48dGQgY2xhc3M9InhyIj5N5ORy5DwvdGQ+PC90cj48L3RoZWFkPg0KPHRib2R5Pg0KPHRyPjx0ZD48L3RkPjx0ZD48L3RkPjx0ZCBjbGFzcz0ieGIiPjI2LjA0LjIwMTAgU2FsZG88L3RkPjx0ZD48L3RkPjx0ZCBjbGFzcz0ieGIiPjIsNzUrPC90ZD48L3RyPg0KPHRyPjx0ZD48Yj5LaXJqYXVzcORpduQgMDcuMDUuPC9iPjwvdGQ+PHRkPjwvdGQ+PHRkPjwvdGQ+PHRkPjwvdGQ+PHRkPjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJmciI+IEU8L3NwYW4+PGJyPiZuYnNwOzwvdGQ+PHRkPjxicj4wNy4wNS48L3RkPjx0ZD43MDUgVmlpdGVwYW5vdDxwcmU+S2FwcGFsZW3k5HLkIDE8L3ByZT48L3RkPjx0ZCBjbGFzcz0ieHIiPjE8L3RkPjx0ZCBjbGFzcz0ieHIiPjAsMjArPC90ZD48L3RyPg0KPHRyPjx0ZD48L3RkPjx0ZD48L3RkPjx0ZCBjbGFzcz0ieGIiPjA3LjA1LjIwMTAgU2FsZG88YnI+S+R5dHT2dmFyYTwvdGQ+PHRkPjwvdGQ+PHRkIGNsYXNzPSJ4YiI+Miw5NSs8YnI+Miw5NSs8L3RkPjwvdHI+DQo8dHI+PHRkPjwvdGQ+PHRkPjwvdGQ+PHRkPjxzcGFuIGNsYXNzPSJmciI+MTxicj4wPC9zcGFuPlBhbm90IHlodGVlbnPkPGJyPk90b3QgeWh0ZWVuc+Q8L3RkPjx0ZD48L3RkPjx0ZCBjbGFzcz0ieHIiPjAsMjArPGJyPjAsMDArPC90ZD48L3RyPg0KPHRyPjx0ZD48L3RkPjx0ZD48L3RkPjx0ZD48c3BhbiBjbGFzcz0iZnIiPjA8YnI+MDwvc3Bhbj5QYW5vdC9razxicj5PdG90L2trPC90ZD48dGQ+PC90ZD48dGQgY2xhc3M9InhyIj4wLDIwKzxicj4wLDAwKzwvdGQ+PC90cj4NCjx0cj48dGQ+PC90ZD48dGQ+PC90ZD48dGQ+PHNwYW4gY2xhc3M9ImZyIj4wPGJyPjA8L3NwYW4+UGFub3QvdnY8YnI+T3RvdC92djwvdGQ+PHRkPjwvdGQ+PHRkIGNsYXNzPSJ4ciI+Miw4Mys8YnI+Myw2Ny08L3RkPjwvdHI+DQoNCjx0cj48dGQ+PGRpdiBzdHlsZT0iaGVpZ2h0OiAxNDVtbTsiPiZuYnNwOzwvZGl2PjwvdGQ+PHRkPjwvdGQ+PHRkPjwvdGQ+PHRkPjwvdGQ+PHRkPjwvdGQ+PC90cj4NCjwvdGJvZHk+DQo8L3RhYmxlPg0KPC9kaXY+PGRpdiBjbGFzcz0icGdfZm9vdGVyIj5Bc2lha2thYW4gdHVsb3N0YW1hPGRpdiBjbGFzcz0iZm9vdG5vdGUiPk5vcmRlYSBQYW5ra2kgU3VvbWkgT3lqLCBBbGVrc2FudGVyaW5rYXR1IDM2LCBGSU4tMDAwMjAgTk9SREVBLCBrb3RpcGFpa2thIEhlbHNpbmtpLCBZLXR1bm51cyAxNjgwMjM1LTg8L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJub19wcm50Ij48L2Rpdj4NCg0KPGRpdiBpZD0iQVNfMTY2MDMwLTk5NjJfMTAuMDUuMjAxMF8wMDBfMSIgY2xhc3M9Im15cGdfbGFzdCI+PGRpdiBjbGFzcz0icGdfaGVhZGVyIj4NCjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj48Y29sIHdpZHRoPSI0MCUiPjxjb2wgd2lkdGg9IjI1JSI+PGNvbCB3aWR0aD0iMzUlIj48dGJvZHk+DQo8dHI+PHRkPjxpbWcgc3JjPSJodHRwOi8vc29sby5ub3JkZWEuZmkvaTIzNjBub3QuZ2lmIiBhbHQ9Ik5vcmRlYSI+PGJyPjE2NjAgU3V1cnlyaXR5c3BhbHZlbHV0PC90ZD48dGQ+PGI+VElMSU9URTwvYj48YnI+UORpduRt5ORy5Dxicj4xMC4wNS4yMDEwPC90ZD48dGQ+PHNwYW4gY2xhc3M9ImZyciI+U2l2dSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzE8YnI+S2F1c2k8YnI+MTAuMDUuMjAxMDwvc3Bhbj48Yj4wMDAgLyAyMDEwPC9iPjwvdGQ+PC90cj4NCjx0cj48dGQ+Jm5ic3A7PGJyPlNPRlQgSU1QTEVNRU5UQVRJT04gSU5DPC90ZD48dGQ+U2hla2tpdGlsaTxicj4xNjYwMzAtOTk2MjwvdGQ+PHRkPlZhbHV1dHRhPGJyPkVVUjwvdGQ+PC90cj4NCjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQ+SUJBTjxicj5GSTY5IDE2NjAgMzAwMCAwMDk5IDYyPC90ZD48dGQ+PHNwYW4gY2xhc3M9ImZyciI+U1dJRlQvQklDPGJyPk5ERUFGSUhIPC9zcGFuPg0KDQoNCjwvdGQ+PC90cj4NCjwvdGJvZHk+PC90YWJsZT48L2Rpdj48ZGl2IGNsYXNzPSJwZ19tYWluX3QiPg0KDQo8dGFibGUgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjIiIHdpZHRoPSIxMDAlIj4NCjx0cj48dGQgY2xhc3M9InhiIiB3aWR0aD0iNzElIj4wNy4wNS4yMDEwIFNhbGRvPC90ZD48dGQgY2xhc3M9InhiIj4yLDk1KzwvdGQ+PC90cj4NCjx0cj48dGQ+PGI+RWkgdGFwYWh0dW1pYSB0aWxpbGxlPC9iPjwvdGQ+PHRkPjwvdGQ+PC90cj4NCjwvdGFibGU+DQoNCjwvZGl2PjxkaXYgY2xhc3M9InBnX2Zvb3RlciI+QXNpYWtrYWFuIHR1bG9zdGFtYTxkaXYgY2xhc3M9ImZvb3Rub3RlIj5Ob3JkZWEgUGFua2tpIFN1b21pIE95aiwgQWxla3NhbnRlcmlua2F0dSAzNiwgRklOLTAwMDIwIE5PUkRFQSwga290aXBhaWtrYSBIZWxzaW5raSwgWS10dW5udXMgMTY4MDIzNS04PC9kaXY+PC9kaXY+PC9kaXY+DQo8IS0tIEhUTUtUTyBjcmVhdGVkOiAxMi4wNy4yMDEwIDEwOjM1OjI4ICszDQogICAgIExvZ2dpbmcgaWQgICAgOiBXVy1XUzMwNg0KICAgICBVc2VyIGlkICAgICAgIDogNDQ0MjAwMDA2NzkxNTUzMzANCiAgICAgVXNlciBuYW1lICAgICA6IEx1b3RvIFBldHJpIFdTIA0KLS0+DQo8L2JvZHk+DQo8L2h0bWw+DQoNCg0K</c2b:Content><Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
2
- <SignedInfo>
3
- <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
4
- <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
5
- <Reference URI="">
6
- <Transforms>
7
- <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
8
- <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
9
- </Transforms>
10
- <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
11
- <DigestValue>1Mf39d8TIyK99LM2mFqxxvKOryM=</DigestValue>
12
- </Reference>
13
- </SignedInfo>
14
- <SignatureValue>CoNvqADLS+qbDUU4rAR0SG1e2NMIxrsC2WHQXtwZo2ylm/rTQBdnjCNpVTdeuBdaJ2kV8LmZx7bNSGMVGoHimIcc9fgrPA2fE4MA+XQK3kwOy3NJonGWPDZvuaSn7KM/Zs3bgrWB5m0kD9G3KCMw1KEB1QIj7mDXY35uUt/GKyg=</SignatureValue><KeyInfo><X509Data><X509Certificate>MIID2TCCAsGgAwIBAgIEAKwkgTANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQGEwJTRTEeMBwGA1UEChMVTm9yZGVhIEJhbmsgQUIgKHB1YmwpMSYwJAYDVQQDEx1Ob3JkZWEgQ29ycG9yYXRlIFNlcnZlciBDQSAwMTEUMBIGA1UEBRMLNTE2NDA2LTAxMjAwHhcNMDgxMDE3MTIzMDQxWhcNMTAxMDE3MTIzMDQxWjBmMQswCQYDVQQGEwJTRTEeMBwGA1UECgwVTm9yZGVhIEJhbmsgQUIgKHB1YmwpMRIwEAYDVQQLDAlOb3JkZWEgSVQxIzAhBgNVBAMMGkZpbGUgVHJhbnNmZXIgV2ViIFNlcnZpY2VzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDI78vhz4V6P2jWj4LPIbBv2GDg6DWPhMT0fD90mu+/N+P2wn5RcIyEVpxWWRyP+oDqq5bW+J0Ni0GF9qRB8aTSBXaZ3AHH+tWWwxXk10RhZ47fNH+yzF7HDHmVJ++OkOpELlmUDb5tX+m+qtdL8nkIywvTYBMOrp3lGgWw1NiBMwIDAQABo4IBDDCCAQgwCQYDVR0TBAIwADARBgNVHQ4ECgQISLk+63zpZ78wEwYDVR0jBAwwCoAIRMeT2dl7VsEwNwYIKwYBBQUHAQEEKzApMCcGCCsGAQUFBzABhhtodHRwOi8vb2NzcC5ub3JkZWEuc2UvU0NBMDEwDgYDVR0PAQH/BAQDAgWgMIGJBgNVHR8EgYEwfzB9oHugeYZ3bGRhcDovL2xkYXAubmIuc2UvY249Tm9yZGVhJTIwQ29ycG9yYXRlJTIwU2VydmVyJTIwQ0ElMjAwMSxvPU5vcmRlYSUyMEJhbmslMjBBQiUyMChwdWJsKSxjPVNFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwDQYJKoZIhvcNAQEFBQADggEBAKqnBbdpbOhhJQLasFA8wUzHciMK6ACGIIPbaxU1X/aKVIpZ+rS92OB0TcIqmcBoAXLyFmzOjNPZCxntp/xC2J1y3Sd0Nbh/6LpwNLkbleinakaR4WnRdV3u38yzC2eczAIIZj/rnxylwh++JmfOdK8/T5ynKYJYx5UoMcG8WICmBRfEWId5/5hrr7PiN5neryz0zRUnmG4r9ML0X93C59yTmjcZXoVZwxIkwfzDTZxlPT1m/sAjOCnSHHuCMmJSXXWOeYJLIOdASgVOl7x6xdKKw6uOD0F2IC1xjpB3XBYMR2jxcb6SSyAkXgBNCPUGFUUkcUOk3+KwIu2Cjp7u1Ro=</X509Certificate><X509IssuerSerial><X509IssuerName>serialNumber=516406-0120, CN=Nordea Corporate Server CA 01, O=Nordea Bank AB (publ), C=SE</X509IssuerName><X509SerialNumber>11281537</X509SerialNumber></X509IssuerSerial></X509Data></KeyInfo></Signature></c2b:ApplicationResponse>