diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000000..6579b6554e --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,25 @@ +name: Apollo main Java CI with Maven + +on: + push: + branches: [ $default-branch ] + pull_request: + branches: [ $default-branch ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - run: echo "šŸŽ‰ The job was automatically triggered by a ${{ github.event_name }} event." + - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub !" + - run: echo "šŸ”Ž The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." + - uses: actions/checkout@v3 + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + cache: maven + - name: Build with Maven + run: mvn -B package --file pom.xml \ No newline at end of file diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 0000000000..48dc07821f --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,33 @@ +# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven + +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Apollo main Java CI with Maven + +on: + push: + branches: [ $default-branch ] + pull_request: + branches: [ $default-branch ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - run: echo "šŸŽ‰ The job was automatically triggered by a ${{ github.event_name }} event." + - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub !" + - run: echo "šŸ”Ž The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." + - uses: actions/checkout@v3 + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: '11' + distribution: 'temurin' + cache: maven + - name: Build with Maven + run: mvn -B package --file pom.xml diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000000..08c892871b --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,27 @@ +# Changelog + +All notable changes to this project will be documented in this file. Dates are displayed in UTC. + +### [1.51.0](https://github.com/ApolloFoundation/Apollo/releases/tag/1.51.0) + +> 24 June 2022 + +Significant sharding speedup and robustness upgrade, general refactoring and tests fixes + +- Fix PhasingPollServiceTest [`c393038`](https://github.com/ApolloFoundation/Apollo/commit/c393038d2e6b335596278ee09b24b654bafa9c89) +- APL-2142 - Speedup sharding tn2 [`#1213`](https://github.com/ApolloFoundation/Apollo/pull/1213) +- APL-2127 - Speedup account export [`#1208`](https://github.com/ApolloFoundation/Apollo/pull/1208) +- Fixed smc tests [`#1205`](https://github.com/ApolloFoundation/Apollo/pull/1205) +- Fix active phasings fetch for shard export [`#1192`](https://github.com/ApolloFoundation/Apollo/pull/1192) +- Fix dgs/phasing/fts tests, add active phasings consistency check [`d5c1b99`](https://github.com/ApolloFoundation/Apollo/commit/d5c1b99b56a42a47f4c34d63383b3acdc185b843) +- Add CHANGELOG + + +### [1.50.36](https://github.com/ApolloFoundation/Apollo/releases/tag/1.50.36) + +> 29 April 2022 + +Updater's certificates cleanup and update + +- Updater certificates update [`#1215`](https://github.com/ApolloFoundation/Apollo/pull/1215) +- Cleanup unused update certificates [`a3d6816`](https://github.com/ApolloFoundation/Apollo/commit/a3d6816dc738c3e0a60991cc37bc295716061d76) diff --git a/apl-conf/src/main/resources/conf-tn1/certs/1_1.crt b/apl-conf/src/main/resources/conf-tn1/certs/1_1.crt deleted file mode 100644 index 11e4a2c18e..0000000000 --- a/apl-conf/src/main/resources/conf-tn1/certs/1_1.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGZTCCBE2gAwIBAgICECcwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDMzNFoX -DTIyMDUxMzE2NDMzNFowgYoxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ0w -CwYDVQQHDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTExDMRgwFgYDVQQD -DA9BbmRyZXcgQm95YXJza3kxKDAmBgkqhkiG9w0BCQEWGWFuZHJldy5ib3lhcnNr -aUBnbWFpbC5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCV0/1a -bFOaNOLWU5NqRhV4Fn0kY5lLZ9WWvktLfv6ayBoIV4z95msGdAac2YhDdRC9bE7i -sPiz181qknwmUBq1js1wJotEhXuLf2CI5l8t3ENjEzQS7NJKFmusai6yKdFloL+x -KRJle/jGEX3ox59hiHlwzqZrWszO2nI+kNOWcFbzcReJEfnpj3HW3TeC1y0SL97d -8b79i63u/Fk7Y9IpWIsNgU+h8PinqP+wCeciN0DfbdmVQrNPeNGLl2lAGHP+qstr -tOdXxJxJG5qyi9F6Upaza8J1QGxpPJaa3v9LwcUQdV/hVefDRXntsvPdRMEFwUpo -zKiV1IOTh6Tvp/3bJnS+BHBWdOdcLMSjE3v51Igs3BSf5OXeMxYyMfSCOsfPItYH -aWfDESp6Yp9LkhXp9ED4vltVtLr9ZRx7QVm9ejhTtwLCjqdwhFPPKS4xZKNx8LbH -9UpjJegVddYbLuRbOA1AgvFxs/DlQcD8dLytFPgyNQncsmuLa2jW9bqpKH97ShQM -XeneAkZ8MbexV4sq16Rzza+YM4btHyau54zbOf8tToODzHGeo008JDnNUnLIav7S -UrD0VSfSEapSwkfxfKWJxirDJwVFSWaUzyiYQcyodkgL+qvu/FIEd+ez806mr/1+ -zTr66P8iKIJgx9N+tL9AmLC3fQzbtxtobaehvQIDAQABo4HRMIHOMAkGA1UdEwQC -MAAwEQYJYIZIAYb4QgEBBAQDAgWgMDUGCWCGSAGG+EIBDQQoFiZGaXJzdGJyaWRn -ZSBPcGVuU1NMIENsaWVudCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU+79lra4ptoen -wQ1yJ79rNrrviCYwHwYDVR0jBBgwFoAUSxXHUsfikHvFOWqlbMq4iLL8yS0wDgYD -VR0PAQH/BAQDAgXgMCcGA1UdJQQgMB4GCCsGAQUFBwMCBggrBgEFBQcDBAYIKwYB -BQUHAwMwDQYJKoZIhvcNAQELBQADggIBACnXYSrj0UjF9Nc6aq6l6lfiwqeef/ck -l9Dp3uKGKVe0YUydO5XERWIV8+6QrwLr5Kk4WOVK28jDCaQurl4/+3xC6ZcY0839 -2jZXWIkhuWI0frq0lQTP/puNxKxAzA/a9XGFXVomBc2C/NmPGjOdbJZ3Ia9ozr6g -ssOr8CDne0UrBOKmMPj4Wd9M5lP9wwIaGemxfs79G0MyjhsgSUnsVm9NdNfnX3qc -C8Can1GuHUetUaLZkXCzN4j5etMnvMRDZ2OCVLEy1H7Ou9L8JT5rHo1O/WQGdy80 -3tIakvjGAYikKZsoU+dcf1tJ3JARVuyuKnB89XV1Q7igAFD7Xr4+TMFUGnQf9/+c -dMoaAZq5YCWjpOGiebrhCSIcVRwlLbxdtMPRL9G9hVe5yn2FHQysDkAQ8O5jj7tR -j9+PvcjG9uarlOiWmMy+ZYKwnHKAUxqOk4w9aZFIURt53m589IhZB3q7oMueD9nF -aEpfqyfJz8/zKARS0eKqqrv78rAetf8zFfef6pV3IECtDGc9axvdTMvOvsGwjobv -AM0g2T6XyVM6pN4bDrxmkS6cy4inhYOe3gXverDDjpaMozYcHV1xUkC/AtVVUWRR -ueaa5vMWC4xhsTBZJ8XqSIan75aCleisSzaGS8OHP4+kuoJKi06My+AGRsq09w0S -6CMfM1dq0jkH ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn1/certs/1_2.crt b/apl-conf/src/main/resources/conf-tn1/certs/1_2.crt deleted file mode 100644 index e22655774a..0000000000 --- a/apl-conf/src/main/resources/conf-tn1/certs/1_2.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGdzCCBF+gAwIBAgICECgwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDQwNFoX -DTIyMDUxMzE2NDQwNFowgZwxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLaWV2MQ0w -CwYDVQQHDARLaWV2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTHRkMQswCQYDVQQL -DAJRQTEYMBYGA1UEAwwPTWFrc2ltIEtoYWJlbmtvMS0wKwYJKoZIhvcNAQkBFh5t -YWtzaW0ua2hhYmVua29AZmlyc3RicmlkZ2UuaW8wggIiMA0GCSqGSIb3DQEBAQUA -A4ICDwAwggIKAoICAQDHfLDK95NWKHN9Dtx1NC3seXnZHXWlnuRLzGUxhNV/m221 -4JqRR0GZ354cPOVMYrdkbu+g+XgGwqB3JEHNfnbW7JPMF03SumjpMgCGpFQodZUR -F2HMNVijMTgbD1AWMbPK6M6Iph8M2Y9XtF/jWE/+8R5knuAeumJVk9plvkHg8W04 -rZtMMoX33j4x4s7ZuuwoTVtL0tbccXzGInyk64mkUmOltk/Yh97T4AHyPIDZo/ux -Ns5Iq/L5bE9P7Nmh0glQGYig4f/3C0vK+FuubZRKphHLgczdJlBfMAQ+40IxBWJK -TnbjIHLloWq0f7j5SH9kfHUGxLR+p11dUTrBRpUFOGeWl3lQMicp43nrD7YocOxe -fZO02Z4mP7n1RLfA3CRFpB3aFLjbyvCa+OBD7yHUEA27H1YTX9xhxEgYjFrZDvSv -5jGth5U/Qvn5Trwe5rDS5QNnUsk4klPqZRYypLCtoGSct7OXYFP1p65KFES731Gj -8E6LTho/lGwibPomgwEeQRh5GwCPWoMLaN1zCQ9MAYZz1hevPRDFd970gmjAue4g -BICEAqQ06b3h1Wh5OgSdizmRcQJQGBW1L6h+dx5Fw09anWrmunRgG7ieXJoab9Tl -wjfMjjVUhuXx2fAP3vakqOU5Ak7HqtYTQawrj8Kp7XA04Hzg1OM/pzEvOwixvQID -AQABo4HRMIHOMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgWgMDUGCWCGSAGG -+EIBDQQoFiZGaXJzdGJyaWRnZSBPcGVuU1NMIENsaWVudCBDZXJ0aWZpY2F0ZTAd -BgNVHQ4EFgQU1TQGa9VBjCEC2IwqK2MgnKyKEIMwHwYDVR0jBBgwFoAUSxXHUsfi -kHvFOWqlbMq4iLL8yS0wDgYDVR0PAQH/BAQDAgXgMCcGA1UdJQQgMB4GCCsGAQUF -BwMCBggrBgEFBQcDBAYIKwYBBQUHAwMwDQYJKoZIhvcNAQELBQADggIBADl4Vi4B -2iM1V6RlPuNv0fy2sMxpoob+GcNsEdTFh1u+awVfwo0wWkU6YZYk7xhwE4nRMrgD -WwCUIbUd6FSYaZ5Zr2tlj8LIj9MwKm2txJewLb7Nx93t6NAag/o0gcy0hPCdEGdz -DPFts65plZgnxjwByTJXgU2lW/AvaNX3IySxhHY6eH1WY2wcN8VFZTXJHzqtpIPU -8wIi7rfk6H65m1YumjCTXbDydTCUCXYOzJxpQwaouI7jJFVoAPtVDBg7kQSP8iHD -7hzdA60oXlO54o/DSiCy6rFpruMVh7OUwoPTlGEbrvWn6Ex8FHfe3/P876/GOOI1 -r9JpXt+9R8H0NdzfAsjLylWVSpS+faEwKTNEoYjNWaJA7ScZOyyDdzBCHgoqLQvG -ke8DpxdHMrkNX3PS6fUq7b1MF2oGZY+y6Rslqe7KK/RUHNsW3I2ElxGomn8jtMo+ -2TbabG3e4DHXc0Z9DAcgtVWKAJ/0Bf5wcvrJ10TBYXtBTJ+n+AKLD8OjMlpj/zrY -fj/ki58CV0Xe+ou9wmVAb12o6Obtot8RI/YYP0jYoOl0XSf7PE0uWHxWxqoq+KwR -YDAsVujG2KKWBcvXDxwkcd3XCfhuc94ecrBskI3x8Vs/x9qArq75uATthffw4Jit -vBdOc4srytIdREo35LjC3xam5CHsTYgfRn9m ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn1/certs/1_3.crt b/apl-conf/src/main/resources/conf-tn1/certs/1_3.crt deleted file mode 100644 index 28b898c496..0000000000 --- a/apl-conf/src/main/resources/conf-tn1/certs/1_3.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGYzCCBEugAwIBAgICEB4wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTE5MTEyODE0MzExOFoX -DTIwMTIxMjE0MzExOFowgYgxCzAJBgNVBAYTAlVBMQswCQYDVQQIDAJDTjELMAkG -A1UEBwwCQ04xFzAVBgNVBAoMDkZpcnN0QnJpZGdlLmlvMRkwFwYDVQQDDBBhcG9s -bG93YWxsZXQub3JnMSswKQYJKoZIhvcNAQkBFhxvbGVrc2l5Lmx1a2luQGZyaXN0 -YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4Pj571wN -HXIngO8mEp/znveFKwbyWD+t8MQSqEXFFDOCEFuzDVj/leaN7cRW+PiR2gQmO9MB -EFIg8UHV82WE5jomjI/oi2PGgdVXjkOvFyF9hIXtKV4j+V/AVXm8lswOjkdV0BuR -cx37u/dQHTanRqIOqQ+hAiBRR4aY63V3MGeK+K8ypxEOoMsC2t3HPWECrlhh5xir -M5FZX+BpnvhUwTEnJsEdugiQUBg5joCUnvGvxiPq/5aDYP/dkQmEued+Lvy3WgkI -H6gnJHS5QiMR5YfbPkUAXWnEXQ62BxWdyqI0oTZ7uHzJhmkrF+aRTFzEJZZIualK -xLDT7qeO8Cd8ifrMHdVZ4fMcnlDwarGA4jgZ5N3gmRNG4WI6ESMCnZct8DkXF8Sg -eQnh1TuTY8elV4/2X33cFtpe7YfyMXxoyqohesqANjihdDEZ3O7OGK1CxBjIxkvr -GETsPJWlkPy2gIcrAhCvwcCt3fdl+l/QXv+TdyP2JZrYyfs/T5uMI+ypHu98fZWI -3oRgD0/sOEWr0dOlJKEiE6TL+dMe8IqR9r4RoQRJS2sOo7Sy47MRXhDQM7E3aHDV -EvkxMpoC6IxHD6Xs6xWBZ8utwwwV9zoaX1oRl3/hT22zvlWoZnjqGfcR7WFJiDAD -RZQFLg3z3fFHg2+Qz/rrbsEIPhLp4vCrEF8CAwEAAaOB0TCBzjAJBgNVHRMEAjAA -MBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgBhvhCAQ0EKBYmRmlyc3RicmlkZ2Ug -T3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFEP41g/42ArtYyuV -t6lhQ30vvNBMMB8GA1UdIwQYMBaAFEsVx1LH4pB7xTlqpWzKuIiy/MktMA4GA1Ud -DwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEFBQcDAgYIKwYBBQUHAwQGCCsGAQUF -BwMDMA0GCSqGSIb3DQEBCwUAA4ICAQA3QRcWoNlBYycRnp9hD5snVSn0DqkTHMg6 -6dG3g+07jwbjPQjvI67ylhxRt3cfwtpd3oUBCARu2HxDMsMTSa/xwLfE9u8m+0A6 -FsFIHSKH3dEQzhf1Ty2cIQXF+KydOOVa3kXbpBMshfzAUwAemL/4dbgmBnsTuT2D -Qq4+mO75OHxbvPVqkvVH/EcVleQd0GArO0EeBoxrm2P4ArVLTHUoIbSE+ihacWRL -JEhr1B5365mDRlOhIQa8b3DVohz0YlHUPCq5hecdSHbN/JpkhpFqvNMdTphmhyMR -KZ5f6cVpOwVw5CwGHRUxcfBfVYu93GJqAYizlNIXn5Bz46MDv1xKJZ1hohok2r/T -zaoD7i0mhm2TJn6Do0xPu13XLuGR9cR+87njSK57S5RzGKJsjHoqAFmkIvhFCMzV -kGkcX3sp6k4WWP23Ym7JZBvp4WjCg68d8m1zVrt2u4duI9JiAEZc6lnfxPVc0Mm1 -159HDXom3lQhpavTPWWY8U1kMrpVAOOPk06D6dr5MEEBPBTnmVitr5iDbg5J9bjP -IEge5MMbFls6FTLVsWdTb06rLLrkJ59zmpg18VgKWaCn4HzOBw4qpZyRw50Wf3WQ -wglD8D6SQqjPVNJyoxLNelBD0hYFcNo0Kgo5+3r5N7kumYZlkatPsYpYt3CjTAcI -/3PsdjVyyA== ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn1/certs/1_4.crt b/apl-conf/src/main/resources/conf-tn1/certs/1_4.crt deleted file mode 100644 index 1ac7907588..0000000000 --- a/apl-conf/src/main/resources/conf-tn1/certs/1_4.crt +++ /dev/null @@ -1,38 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGkTCCBHmgAwIBAgICECkwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDQxNloX -DTIyMDUxMzE2NDQxNlowgbYxCzAJBgNVBAYTAlVBMRkwFwYDVQQIDBBJdmFuby1G -cmFua2l2c2thMRgwFgYDVQQHDA9JdmFuby1GcmFua2l2c2sxGTAXBgNVBAoMEEZp -cnN0QnJpZGdlIEx0ZC4xHzAdBgNVBAsMFkJsb2NrY2hhaW4gRGV2ZWxvcG1lbnQx -GDAWBgNVBAMMD1Jvc3R5c2xhdiBHb2xkYTEcMBoGCSqGSIb3DQEJARYNdHhfaHZA -dWtyLm5ldDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAND5kGVyK4J2 -ozPOfNLVqm12PGXVp+tT1FFwG9UZ6Glosh01l1azYfNTDuJt+zFKbpgzZLYcZhks -oEcJlQK6/TiYlwvCkf7xHc/5sC0BHCPpJGcesVloanerP+Qg2Rhp3BvIu2kW1v6E -KiAiEKbAaefvIiufhGtnb7c5JpOhjrJW9CcJMCQESVNrKbMqT2E5u08nvWrVPoBm -3tu7MvVOdESV42qKWr4l58PL02JUJYoE6zFx54b4u7q/CXjkUvFR5i98JMhFmuEI -Q7FPJyb0IsspiPQI0t5tfNQwPtrI1004AgG08Qies9MP5ucfXuGY1y7G+CbD6785 -6RzIwXvFsVCAiKXGVOxvpy7si1o4feV2S7+re9aTQj11MEQYDWNYXVN+4vJwL9qX -qcqG9o01XMbLjVHq7AiBz13JoYenQPln7pbaQ5xLHBmgSzP6EJGQblZz23vq34Fd -9gokTCVSVWEYD/Dsly22Pi254NAhp+aXLVH4PdPD04RVzVnu2Xu+OkQBLYxa2/mH -NYfgaMrwBgKO9JHIqHb6c5JfFrXxkEhiKwX9/20EWpEu1E/XM61a9i7ZF2BaH39p -Fn8gWoL6q3cC0tAPTlOYu3J0ycpdIQm5UQecoBfyEiCH0M2+Zvhzt4lf04xloT/V -YFQ0Yf7kF+fxPRW33rIr2wwsEbwTyAN5AgMBAAGjgdEwgc4wCQYDVR0TBAIwADAR -BglghkgBhvhCAQEEBAMCBaAwNQYJYIZIAYb4QgENBCgWJkZpcnN0YnJpZGdlIE9w -ZW5TU0wgQ2xpZW50IENlcnRpZmljYXRlMB0GA1UdDgQWBBS5nIUCDZlHhOq1tDYX -IXRbPTs/bjAfBgNVHSMEGDAWgBRLFcdSx+KQe8U5aqVsyriIsvzJLTAOBgNVHQ8B -Af8EBAMCBeAwJwYDVR0lBCAwHgYIKwYBBQUHAwIGCCsGAQUFBwMEBggrBgEFBQcD -AzANBgkqhkiG9w0BAQsFAAOCAgEAqIAsBuaO/1+TLWN5RkUy1zh4haslSwe08R7D -54MnQl3DcpcpaDa045PVJkec06p5Z9RxuzzyYBmPH5SoQ/PPiGTq3La4HBvPMDtH -BsyRdwxZHRf70inCKRGHTAKupL+duyx0AwsF5V0n2xF5QkGZLoxhOULY0rcVfiGM -IwfnCFBZWRuN9MOS8PopgyjjT9uXLlaARz26SIwPPKpxQunwykN1QUDrmapzSDz2 -PeTRwsOPuYuXN/XOUq8DUE4qVoUO8cr64aXzWy5UDOPZLs9zxdO+yqyy6Vex9Qsv -uch3mNgoXeu/gxTJ+euCy/n6RtiZe3z06wth/1+5kav5kmDduwpsepk05ql7BnCi -y/Ke9KbIOnjnMUjl1xXbo2rG7XVj7IpucP3LRT4rLB0VAxWVjype97WC7u6e2vry -TRv5VYHyzELD8hZz84ajUQ6NaGH6DfwtOwEX0Gxj/FuNiX3TrhcHdw4uVo4UypyQ -d1GZt8RpOy09jjZu5PNxnlBDkw5Bi8FaDVg9PM3Gq3I/ZT5dG6Zu5104iv2CgkdD -QJc4PhPsq4rPOLtWmrJ/J2AqBD9vfxjoMiAjLlzvyj6BIiJdMFnLi8qQBQw+G7bW -k5hPJtW40OX0IIYd/jiKcTHB+0oBlBvI450DmuryH1m1ikMEqPB99YPGtef8m3WS -EXVXy1c= ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn1/certs/2_1.crt b/apl-conf/src/main/resources/conf-tn1/certs/2_1.crt deleted file mode 100644 index 7613ffec3a..0000000000 --- a/apl-conf/src/main/resources/conf-tn1/certs/2_1.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGeDCCBGCgAwIBAgICEC0wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTEyNDEzMDMwNFoX -DTIyMDUxODEzMDMwNFowgZ0xCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ0w -CwYDVQQHDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTFREMQwwCgYDVQQL -DANDT08xHTAbBgNVBAMMFEdlb3JnZSBEemh5bmNoYXJhZHplMSgwJgYJKoZIhvcN -AQkBFhlnZW9yZ2UuY29vQGZpcnN0YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA75aMnpLfIWAuzX50072OR9Y5BxowLXggUE2wvTrUFwAo -1q8GETXK80xdhfZtMCkGlMvk8ldA3c+RPTXJIvjoDTGZOTERGOLxB32kSn74fPtu -yRUqktGMBI7JQM6My27owJtApIif2Xn7q8Qo8YguBmbzOEblO0FYVkd9IopePtvt -r/GvJStY0lNIQpXQEzdrK+QBIeXlBG1OiTswC2BU8MAc1SeZcF4fiLnPxT0m9KLF -60iIJ0WFBAmNYP8sQEnsEJRPzPm+rQhv1cAUzNPya9ZOubVqcHclKuzLfd7HOaJh -I7VPBjnd4FFMUzz3fk7jvT8uwvN5JeaU1V3g22bX/EZWmGchSJpFVCuxGdqj3TVn -eSh+D3WodzTobXC8oXxrGL6kDDRjYnLA74XngAFsDuT7yGpQoKQ1K3TL6Hkhwk+a -UMHJ3zi4ccOCNaC6TosJu9eNgXG1+SIBbKmBR59ltd6aLVlTk99nWBN3HsOs/Pnu -UITo36PdwouBTcKV6zQz1TezUsbYdQVfLQs/zvo88SmpNAuG7gcVXMCdd7TSGuk5 -Ac9xihO9hS8mmZouBymkuaugcji54vv4yBYoDXh2km9Ls/Ypcb5r/4jIh4DJFfs1 -5yqzq35smIl5cewVn9KEaETBetZ3Z5MdY8hMuZWPgPhqVVDRqOsnjpk5JmI2AQ8C -AwEAAaOB0TCBzjAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgB -hvhCAQ0EKBYmRmlyc3RicmlkZ2UgT3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUw -HQYDVR0OBBYEFIz6a4Hb4whZiQf2JYpAERgk6P8yMB8GA1UdIwQYMBaAFEsVx1LH -4pB7xTlqpWzKuIiy/MktMA4GA1UdDwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEF -BQcDAgYIKwYBBQUHAwQGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4ICAQAZZBJM -hw6dFMI3b9BCE3i49B2uxjRqtFRpNtOZoPgjVJzWvY+lwpJOXFVShQG67rt53xMM -SLcZvejQGJlQLLWJ0/BKDaeWpsrsoWfp9uNsy0xyhfeLxvsmQjdCDBLUC1/6Trhe -zVbSsQ7556wAHdPFS4x4BvssjdRPVmqckwT5GE5E2ATXYEuNHWDWktlFcCnaoc/P -lOSDQ3qkkVF8sFJnW0nH4nbQQHvyb0gzL+/MexIr3mqm93bXZJN/xbJ7jAgTPLwe -TWU5iCmdJPRxKOhuq6PUP3tJJs1ImT/1+6Hj+VENpOvwV2aeES9ahVCUYZwg4MgF -GTfNribVhpbzTrCALdGH7CBnXkAHYUP++Kr5+C9jXgfhesOGZCLlp1TAw0jrhNyf -bcCpRi24Vgca7b4G9nCxH7agbUo/BU31DEzlQ4K4PTh63NTAsJ4piXwSIFotaRNR -K5N84EN0D/EXlPFUafg5jC19S0RyoHw6SJ7zw5xhj/gxmo+ZLM4oLqJfT3ZX91/V -nNwc4O/cyoICooMMWnCfw6D8nqeWRNKzzN5MCjWL9ewmfm4L4VMKmzWzqKIGAuxK -Q33T/+YgeVsQFQEDy9+aD1rc7X8NHIY+VCEn7ZN3KbaZZ4XnZltn8NbsGLNSbda7 -XxD83EHKwf4mORRn5aX+/5biKe0/xCpfULYnvA== ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn1/certs/2_2.crt b/apl-conf/src/main/resources/conf-tn1/certs/2_2.crt deleted file mode 100644 index 324f7fb970..0000000000 --- a/apl-conf/src/main/resources/conf-tn1/certs/2_2.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -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 -XXpr1M5IhZt0X6sHYkasdl3m/b8= ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn1/certs/2_3.crt b/apl-conf/src/main/resources/conf-tn1/certs/2_3.crt deleted file mode 100644 index 5806a784a6..0000000000 --- a/apl-conf/src/main/resources/conf-tn1/certs/2_3.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGdTCCBF2gAwIBAgICECswDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NTgzOFoX -DTIyMDUxMzE2NTgzOFowgZoxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQsw -CQYDVQQHDAJCQzEUMBIGA1UECgwLRmlyc3RCcmlkZ2UxDjAMBgNVBAsMBURldmVs -MRkwFwYDVQQDDBBTdmlhdG9zbGF2IEdvbGRhMS4wLAYJKoZIhvcNAQkBFh9zdmlh -dG9zbGF2LmdvbGRhQGZpcnN0YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEFAAOC -Ag8AMIICCgKCAgEA2C813+Igz41/ihwSICa0z3HlYhRbRLyByRcKIFp6T/gvs+Mj -+fXrtp8Oodg64mekFW0bgehpqxyYYXkKIz3ObrkK7IUe6CjsctgIY4vdJ+tdK3OD -XCztQNCGtFfqV3/vLv47bq0lmTM342ekWR6NnUiMplIFFdb5VzjJmFQMLZRA6bYn -DQ4+6ml/RtypvVlhc0ey3bwKTMkpJoKylw6LXx6XMks+Y0Eyk/07bQKINOVq+lxS -4MgHsHTdLzd4v9lFldCNMKaMmx99uENDe4PuUVYAuagoQ/52sKEvXpoZJPtNOs9V -YaPfSnrfEyVHJ+M2Fr1ShNW0+v6WDzxjyLufd1514LnKIkXgALVYJnAjL3dxGdKf -Zk8LcNkDEDASceK2XXQTA6Yds86T+td2dKIsI/yGBSpp7mp5qvOsprIdx0nK6bbp -v+e1BZLdtgE0ZPjy0WAkqqZIt4W7MARmkjX8x5R5o0AGBstrDIQpLpHzGomQWVt4 -wEFC3M4Bu1Det//ODCbdXrVXWRirYUo4h4cYywGTQsEIV9yhAIOYntdSVSgRx9aI -+YNi30UVzBaCQFr2fNugk0YvKLr7lZ33tLj9gQBtTZjwo6/YcDj715VtY74IJTyg -mMbTE5N6qBrklO1dEiO3bHoiJeuiQLcfW0uIIaVlCNtSDXxQCqOBo0UX1BsCAwEA -AaOB0TCBzjAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgBhvhC -AQ0EKBYmRmlyc3RicmlkZ2UgT3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUwHQYD -VR0OBBYEFNIHdAVizPNxy3KvQgALrCXMCT0bMB8GA1UdIwQYMBaAFEsVx1LH4pB7 -xTlqpWzKuIiy/MktMA4GA1UdDwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEFBQcD -AgYIKwYBBQUHAwQGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4ICAQA6Ssrhwly9 -M63egy/8M6FqPTxbxKb+0QSOI6MD0IExAUPK7VsAJinT9BkV1y0kZQyJ6AIihcf/ -z3p5vkrrlhTmEDquGV5DjSbAKZUA0GlWESMfl6bdDHy2Mgea5QFb5INIjFlg/KXs -i/IMTOOL9NEDW/J4O/JXkrVpMmpvxXzxQPyfP/XqukykZaiJ4AiVhtKtTSJj0VWp -JYDlEQN27c4s91JUzC5Gx3oQABGjEfFsdMVZ6CKlHU7nnpX16VQW5kiInPCvetSM -7ai6J785x9CUQD+yo6nglVqf8I/C+omVbZsOEdCYmKigOfAFtpSJmzDo6IfEsVzg -hrSuuR9k8OIAeMgKB/Uk2R1vpg3ME+B0NfVMeYHcpnbtgw7ZkHA2ZfTQe7eT1Z2Q -2pBLQdCWN73FQ1AQuJ/YqddmHQzZbvGlX6sBBsm+hWeAWxwP+ivEYXGyApYcjaMG -JQC2zeBaas9xQfzKJVkwDyqe5B1xWypJNf0gavlbc/WXq/IVZZqyHVIYlRf9CAFz -U81XtQtbe8RLZ9yxWTh+1vI/nKHcFRKKH2hGQNhIr1XyZe3HTktQyzgM2VmvybV+ -nBc0q5wGR/w/15XDxKfcLdVbp9ISVJ7+DR4HjZHepLIuR/SBCqagBh1jfR6RJraQ -zwNUEFI6YENbZxyA1Onbw5tIfpKfAC7m9g== ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn1/certs/intermediate.crt b/apl-conf/src/main/resources/conf-tn1/certs/intermediate.crt deleted file mode 100644 index 5d0832b4bd..0000000000 --- a/apl-conf/src/main/resources/conf-tn1/certs/intermediate.crt +++ /dev/null @@ -1,35 +0,0 @@ ------BEGIN CERTIFICATE----- -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 -loQcZYg/Dw== ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn1/certs/rootCA.crt b/apl-conf/src/main/resources/conf-tn1/certs/rootCA.crt deleted file mode 100644 index dbe28ae482..0000000000 --- a/apl-conf/src/main/resources/conf-tn1/certs/rootCA.crt +++ /dev/null @@ -1,35 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGEDCCA/igAwIBAgIJAKcFbXmIl10mMA0GCSqGSIb3DQEBCwUAMIGUMQswCQYD -VQQGEwJVQTENMAsGA1UECAwES3lpdjEOMAwGA1UEBwwFUG9kaWwxFDASBgNVBAoM -C0ZpcnN0QnJpZGdlMQ8wDQYDVQQLDAZEZXZPcHMxGzAZBgNVBAMMEnd3dy5maXJz -dGJyaWRnZS5pbzEiMCAGCSqGSIb3DQEJARYTcm9vdEBmaXJzdGJyaWRnZS5pbzAe -Fw0xODA2MTIwNjQzNTNaFw0zODA2MDcwNjQzNTNaMIGUMQswCQYDVQQGEwJVQTEN -MAsGA1UECAwES3lpdjEOMAwGA1UEBwwFUG9kaWwxFDASBgNVBAoMC0ZpcnN0QnJp -ZGdlMQ8wDQYDVQQLDAZEZXZPcHMxGzAZBgNVBAMMEnd3dy5maXJzdGJyaWRnZS5p -bzEiMCAGCSqGSIb3DQEJARYTcm9vdEBmaXJzdGJyaWRnZS5pbzCCAiIwDQYJKoZI -hvcNAQEBBQADggIPADCCAgoCggIBAK0Owbv0qmLsUzLrfcOGObNBXSVNplD33+is -H1sjV3lAjHIWIywwLZMXcCUM8WWV32UocVnb4FPO2d76IWCviZAl54atRlDfL2rv -H+hYUCSXV60B0+1uDcSPr4+tq3yDgChvl73OtQDNa48UV9x+jPmUV3LGOrN/oqbU -8yNt7m8//gKcwQSxjWe6+VT+ZIVVlbVeUG4M+qWPaQMZsQZIElPjeaF9mz/dFImz -MwBFmCA7k03KaX0Qn7XKHrkhp52a+oa0sHk2F2B58NaQPwdUwUF9D6kB2PjD+Ev5 -RfF8gNdqTmY2Ufwiy0vCMB3micEJ0nDHK9/u7EnsGspHExvYQ4/x/hVktL29WWwv -OHqUd5cmsILGS4FuyQZ/jmZtw8AAhNhyImhLwFv0/iqvOby/lhmKBeSEYA8O1WCr -6by4+HiEzXmZ4MRokq/QxZKJ2WskTs8RL+FuzgtG7wvGkzRKmz5G4u+DzPsZs7ig -WV9K9CHsl5HCAn2FSCidRnmPen7592THzl7W/7dT9kmmA19dVtIqV86NUlB/5lf9 -i6oBeHXzBnreAtKuLB7XiNA1tCqo1dYPN3wNQEcqracbmM/RHK/BBfxAJvofgLLb -SN4gKj4mfprhT0V9tOFoWBZ1haFzQD6Oom3KcA0kjX3GESmld6mvxHLeKxTFvpoq -JgwiGxHvAgMBAAGjYzBhMB0GA1UdDgQWBBQC945QrkpuLT0cb9kkR+WXQXzKdzAf -BgNVHSMEGDAWgBQC945QrkpuLT0cb9kkR+WXQXzKdzAPBgNVHRMBAf8EBTADAQH/ -MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAaozG0E1WLt2MpAx4 -8c85BnYU2tNND+1ZU8SPYqHSOE3ZrpWnZwbOKiJGZ2jT33Sr/MLjabR9XQWZK4H3 -X2LasuIb6il/aPiJ/7sl3VLnu03wDa7YraRdpPL0B7M/zmKb2VjnsnrkRw1GHuKO -KnA6f3EhwCnUfARD0GSGKBvS+Rl+qhfhqXAN/Lpr4sCZnvaxfADwCulsh0ZsrIcw -YIZtOVkvZvI87q0txbC4K+TF5yfhKDdD0zuCnvQSEuNsLDsPx/S1GhhG4mXtJyDY -GGB9e1zh7GMRhloBkLgMd0g2FJf4EEK6dcHDHLul3HSyIsikr0f8gaOIoFFPD8bj -wno7npDSFkkY8zwTkx+a0y87CQSnj5Ko6st3ohZLO6g/KijH00cn8WEgxEdiG7Vw -Y4WgezCmLCjVFnLS4VRnwZW32iPZjWkwF6/FImSuiAIgZfT9q5n6dCLwHHUxPu7Q -V3FEA5mgJWZba/fPscfoa163pPoPaxZALBTLXdgVEv1KQUELtrwOGm5s796kj7VX -gxlj4TBMtURXKcuns7QAEKJDeKhnv8R5Oh3j5MkYRvTcyE+RfW5ewJRtiI2lv1ds -pOW3zIgJWY2I9HVHUDXmbskPMJjcPZpv1M6Me3id4bAWDP3I1SHu0mzqE5qXy5/l -5YyJ/mouRe1kokM1lAYIrb6HsLQ= ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn15/certs/1_1.crt b/apl-conf/src/main/resources/conf-tn15/certs/1_1.crt deleted file mode 100644 index 11e4a2c18e..0000000000 --- a/apl-conf/src/main/resources/conf-tn15/certs/1_1.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGZTCCBE2gAwIBAgICECcwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDMzNFoX -DTIyMDUxMzE2NDMzNFowgYoxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ0w -CwYDVQQHDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTExDMRgwFgYDVQQD -DA9BbmRyZXcgQm95YXJza3kxKDAmBgkqhkiG9w0BCQEWGWFuZHJldy5ib3lhcnNr -aUBnbWFpbC5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCV0/1a -bFOaNOLWU5NqRhV4Fn0kY5lLZ9WWvktLfv6ayBoIV4z95msGdAac2YhDdRC9bE7i -sPiz181qknwmUBq1js1wJotEhXuLf2CI5l8t3ENjEzQS7NJKFmusai6yKdFloL+x -KRJle/jGEX3ox59hiHlwzqZrWszO2nI+kNOWcFbzcReJEfnpj3HW3TeC1y0SL97d -8b79i63u/Fk7Y9IpWIsNgU+h8PinqP+wCeciN0DfbdmVQrNPeNGLl2lAGHP+qstr -tOdXxJxJG5qyi9F6Upaza8J1QGxpPJaa3v9LwcUQdV/hVefDRXntsvPdRMEFwUpo -zKiV1IOTh6Tvp/3bJnS+BHBWdOdcLMSjE3v51Igs3BSf5OXeMxYyMfSCOsfPItYH -aWfDESp6Yp9LkhXp9ED4vltVtLr9ZRx7QVm9ejhTtwLCjqdwhFPPKS4xZKNx8LbH -9UpjJegVddYbLuRbOA1AgvFxs/DlQcD8dLytFPgyNQncsmuLa2jW9bqpKH97ShQM -XeneAkZ8MbexV4sq16Rzza+YM4btHyau54zbOf8tToODzHGeo008JDnNUnLIav7S -UrD0VSfSEapSwkfxfKWJxirDJwVFSWaUzyiYQcyodkgL+qvu/FIEd+ez806mr/1+ -zTr66P8iKIJgx9N+tL9AmLC3fQzbtxtobaehvQIDAQABo4HRMIHOMAkGA1UdEwQC -MAAwEQYJYIZIAYb4QgEBBAQDAgWgMDUGCWCGSAGG+EIBDQQoFiZGaXJzdGJyaWRn -ZSBPcGVuU1NMIENsaWVudCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU+79lra4ptoen -wQ1yJ79rNrrviCYwHwYDVR0jBBgwFoAUSxXHUsfikHvFOWqlbMq4iLL8yS0wDgYD -VR0PAQH/BAQDAgXgMCcGA1UdJQQgMB4GCCsGAQUFBwMCBggrBgEFBQcDBAYIKwYB -BQUHAwMwDQYJKoZIhvcNAQELBQADggIBACnXYSrj0UjF9Nc6aq6l6lfiwqeef/ck -l9Dp3uKGKVe0YUydO5XERWIV8+6QrwLr5Kk4WOVK28jDCaQurl4/+3xC6ZcY0839 -2jZXWIkhuWI0frq0lQTP/puNxKxAzA/a9XGFXVomBc2C/NmPGjOdbJZ3Ia9ozr6g -ssOr8CDne0UrBOKmMPj4Wd9M5lP9wwIaGemxfs79G0MyjhsgSUnsVm9NdNfnX3qc -C8Can1GuHUetUaLZkXCzN4j5etMnvMRDZ2OCVLEy1H7Ou9L8JT5rHo1O/WQGdy80 -3tIakvjGAYikKZsoU+dcf1tJ3JARVuyuKnB89XV1Q7igAFD7Xr4+TMFUGnQf9/+c -dMoaAZq5YCWjpOGiebrhCSIcVRwlLbxdtMPRL9G9hVe5yn2FHQysDkAQ8O5jj7tR -j9+PvcjG9uarlOiWmMy+ZYKwnHKAUxqOk4w9aZFIURt53m589IhZB3q7oMueD9nF -aEpfqyfJz8/zKARS0eKqqrv78rAetf8zFfef6pV3IECtDGc9axvdTMvOvsGwjobv -AM0g2T6XyVM6pN4bDrxmkS6cy4inhYOe3gXverDDjpaMozYcHV1xUkC/AtVVUWRR -ueaa5vMWC4xhsTBZJ8XqSIan75aCleisSzaGS8OHP4+kuoJKi06My+AGRsq09w0S -6CMfM1dq0jkH ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn15/certs/1_2.crt b/apl-conf/src/main/resources/conf-tn15/certs/1_2.crt deleted file mode 100644 index e22655774a..0000000000 --- a/apl-conf/src/main/resources/conf-tn15/certs/1_2.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGdzCCBF+gAwIBAgICECgwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDQwNFoX -DTIyMDUxMzE2NDQwNFowgZwxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLaWV2MQ0w -CwYDVQQHDARLaWV2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTHRkMQswCQYDVQQL -DAJRQTEYMBYGA1UEAwwPTWFrc2ltIEtoYWJlbmtvMS0wKwYJKoZIhvcNAQkBFh5t -YWtzaW0ua2hhYmVua29AZmlyc3RicmlkZ2UuaW8wggIiMA0GCSqGSIb3DQEBAQUA -A4ICDwAwggIKAoICAQDHfLDK95NWKHN9Dtx1NC3seXnZHXWlnuRLzGUxhNV/m221 -4JqRR0GZ354cPOVMYrdkbu+g+XgGwqB3JEHNfnbW7JPMF03SumjpMgCGpFQodZUR -F2HMNVijMTgbD1AWMbPK6M6Iph8M2Y9XtF/jWE/+8R5knuAeumJVk9plvkHg8W04 -rZtMMoX33j4x4s7ZuuwoTVtL0tbccXzGInyk64mkUmOltk/Yh97T4AHyPIDZo/ux -Ns5Iq/L5bE9P7Nmh0glQGYig4f/3C0vK+FuubZRKphHLgczdJlBfMAQ+40IxBWJK -TnbjIHLloWq0f7j5SH9kfHUGxLR+p11dUTrBRpUFOGeWl3lQMicp43nrD7YocOxe -fZO02Z4mP7n1RLfA3CRFpB3aFLjbyvCa+OBD7yHUEA27H1YTX9xhxEgYjFrZDvSv -5jGth5U/Qvn5Trwe5rDS5QNnUsk4klPqZRYypLCtoGSct7OXYFP1p65KFES731Gj -8E6LTho/lGwibPomgwEeQRh5GwCPWoMLaN1zCQ9MAYZz1hevPRDFd970gmjAue4g -BICEAqQ06b3h1Wh5OgSdizmRcQJQGBW1L6h+dx5Fw09anWrmunRgG7ieXJoab9Tl -wjfMjjVUhuXx2fAP3vakqOU5Ak7HqtYTQawrj8Kp7XA04Hzg1OM/pzEvOwixvQID -AQABo4HRMIHOMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgWgMDUGCWCGSAGG -+EIBDQQoFiZGaXJzdGJyaWRnZSBPcGVuU1NMIENsaWVudCBDZXJ0aWZpY2F0ZTAd -BgNVHQ4EFgQU1TQGa9VBjCEC2IwqK2MgnKyKEIMwHwYDVR0jBBgwFoAUSxXHUsfi -kHvFOWqlbMq4iLL8yS0wDgYDVR0PAQH/BAQDAgXgMCcGA1UdJQQgMB4GCCsGAQUF -BwMCBggrBgEFBQcDBAYIKwYBBQUHAwMwDQYJKoZIhvcNAQELBQADggIBADl4Vi4B -2iM1V6RlPuNv0fy2sMxpoob+GcNsEdTFh1u+awVfwo0wWkU6YZYk7xhwE4nRMrgD -WwCUIbUd6FSYaZ5Zr2tlj8LIj9MwKm2txJewLb7Nx93t6NAag/o0gcy0hPCdEGdz -DPFts65plZgnxjwByTJXgU2lW/AvaNX3IySxhHY6eH1WY2wcN8VFZTXJHzqtpIPU -8wIi7rfk6H65m1YumjCTXbDydTCUCXYOzJxpQwaouI7jJFVoAPtVDBg7kQSP8iHD -7hzdA60oXlO54o/DSiCy6rFpruMVh7OUwoPTlGEbrvWn6Ex8FHfe3/P876/GOOI1 -r9JpXt+9R8H0NdzfAsjLylWVSpS+faEwKTNEoYjNWaJA7ScZOyyDdzBCHgoqLQvG -ke8DpxdHMrkNX3PS6fUq7b1MF2oGZY+y6Rslqe7KK/RUHNsW3I2ElxGomn8jtMo+ -2TbabG3e4DHXc0Z9DAcgtVWKAJ/0Bf5wcvrJ10TBYXtBTJ+n+AKLD8OjMlpj/zrY -fj/ki58CV0Xe+ou9wmVAb12o6Obtot8RI/YYP0jYoOl0XSf7PE0uWHxWxqoq+KwR -YDAsVujG2KKWBcvXDxwkcd3XCfhuc94ecrBskI3x8Vs/x9qArq75uATthffw4Jit -vBdOc4srytIdREo35LjC3xam5CHsTYgfRn9m ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn15/certs/1_3.crt b/apl-conf/src/main/resources/conf-tn15/certs/1_3.crt deleted file mode 100644 index 28b898c496..0000000000 --- a/apl-conf/src/main/resources/conf-tn15/certs/1_3.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGYzCCBEugAwIBAgICEB4wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTE5MTEyODE0MzExOFoX -DTIwMTIxMjE0MzExOFowgYgxCzAJBgNVBAYTAlVBMQswCQYDVQQIDAJDTjELMAkG -A1UEBwwCQ04xFzAVBgNVBAoMDkZpcnN0QnJpZGdlLmlvMRkwFwYDVQQDDBBhcG9s -bG93YWxsZXQub3JnMSswKQYJKoZIhvcNAQkBFhxvbGVrc2l5Lmx1a2luQGZyaXN0 -YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4Pj571wN -HXIngO8mEp/znveFKwbyWD+t8MQSqEXFFDOCEFuzDVj/leaN7cRW+PiR2gQmO9MB -EFIg8UHV82WE5jomjI/oi2PGgdVXjkOvFyF9hIXtKV4j+V/AVXm8lswOjkdV0BuR -cx37u/dQHTanRqIOqQ+hAiBRR4aY63V3MGeK+K8ypxEOoMsC2t3HPWECrlhh5xir -M5FZX+BpnvhUwTEnJsEdugiQUBg5joCUnvGvxiPq/5aDYP/dkQmEued+Lvy3WgkI -H6gnJHS5QiMR5YfbPkUAXWnEXQ62BxWdyqI0oTZ7uHzJhmkrF+aRTFzEJZZIualK -xLDT7qeO8Cd8ifrMHdVZ4fMcnlDwarGA4jgZ5N3gmRNG4WI6ESMCnZct8DkXF8Sg -eQnh1TuTY8elV4/2X33cFtpe7YfyMXxoyqohesqANjihdDEZ3O7OGK1CxBjIxkvr -GETsPJWlkPy2gIcrAhCvwcCt3fdl+l/QXv+TdyP2JZrYyfs/T5uMI+ypHu98fZWI -3oRgD0/sOEWr0dOlJKEiE6TL+dMe8IqR9r4RoQRJS2sOo7Sy47MRXhDQM7E3aHDV -EvkxMpoC6IxHD6Xs6xWBZ8utwwwV9zoaX1oRl3/hT22zvlWoZnjqGfcR7WFJiDAD -RZQFLg3z3fFHg2+Qz/rrbsEIPhLp4vCrEF8CAwEAAaOB0TCBzjAJBgNVHRMEAjAA -MBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgBhvhCAQ0EKBYmRmlyc3RicmlkZ2Ug -T3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFEP41g/42ArtYyuV -t6lhQ30vvNBMMB8GA1UdIwQYMBaAFEsVx1LH4pB7xTlqpWzKuIiy/MktMA4GA1Ud -DwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEFBQcDAgYIKwYBBQUHAwQGCCsGAQUF -BwMDMA0GCSqGSIb3DQEBCwUAA4ICAQA3QRcWoNlBYycRnp9hD5snVSn0DqkTHMg6 -6dG3g+07jwbjPQjvI67ylhxRt3cfwtpd3oUBCARu2HxDMsMTSa/xwLfE9u8m+0A6 -FsFIHSKH3dEQzhf1Ty2cIQXF+KydOOVa3kXbpBMshfzAUwAemL/4dbgmBnsTuT2D -Qq4+mO75OHxbvPVqkvVH/EcVleQd0GArO0EeBoxrm2P4ArVLTHUoIbSE+ihacWRL -JEhr1B5365mDRlOhIQa8b3DVohz0YlHUPCq5hecdSHbN/JpkhpFqvNMdTphmhyMR -KZ5f6cVpOwVw5CwGHRUxcfBfVYu93GJqAYizlNIXn5Bz46MDv1xKJZ1hohok2r/T -zaoD7i0mhm2TJn6Do0xPu13XLuGR9cR+87njSK57S5RzGKJsjHoqAFmkIvhFCMzV -kGkcX3sp6k4WWP23Ym7JZBvp4WjCg68d8m1zVrt2u4duI9JiAEZc6lnfxPVc0Mm1 -159HDXom3lQhpavTPWWY8U1kMrpVAOOPk06D6dr5MEEBPBTnmVitr5iDbg5J9bjP -IEge5MMbFls6FTLVsWdTb06rLLrkJ59zmpg18VgKWaCn4HzOBw4qpZyRw50Wf3WQ -wglD8D6SQqjPVNJyoxLNelBD0hYFcNo0Kgo5+3r5N7kumYZlkatPsYpYt3CjTAcI -/3PsdjVyyA== ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn15/certs/1_4.crt b/apl-conf/src/main/resources/conf-tn15/certs/1_4.crt deleted file mode 100644 index 1ac7907588..0000000000 --- a/apl-conf/src/main/resources/conf-tn15/certs/1_4.crt +++ /dev/null @@ -1,38 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGkTCCBHmgAwIBAgICECkwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDQxNloX -DTIyMDUxMzE2NDQxNlowgbYxCzAJBgNVBAYTAlVBMRkwFwYDVQQIDBBJdmFuby1G -cmFua2l2c2thMRgwFgYDVQQHDA9JdmFuby1GcmFua2l2c2sxGTAXBgNVBAoMEEZp -cnN0QnJpZGdlIEx0ZC4xHzAdBgNVBAsMFkJsb2NrY2hhaW4gRGV2ZWxvcG1lbnQx -GDAWBgNVBAMMD1Jvc3R5c2xhdiBHb2xkYTEcMBoGCSqGSIb3DQEJARYNdHhfaHZA -dWtyLm5ldDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAND5kGVyK4J2 -ozPOfNLVqm12PGXVp+tT1FFwG9UZ6Glosh01l1azYfNTDuJt+zFKbpgzZLYcZhks -oEcJlQK6/TiYlwvCkf7xHc/5sC0BHCPpJGcesVloanerP+Qg2Rhp3BvIu2kW1v6E -KiAiEKbAaefvIiufhGtnb7c5JpOhjrJW9CcJMCQESVNrKbMqT2E5u08nvWrVPoBm -3tu7MvVOdESV42qKWr4l58PL02JUJYoE6zFx54b4u7q/CXjkUvFR5i98JMhFmuEI -Q7FPJyb0IsspiPQI0t5tfNQwPtrI1004AgG08Qies9MP5ucfXuGY1y7G+CbD6785 -6RzIwXvFsVCAiKXGVOxvpy7si1o4feV2S7+re9aTQj11MEQYDWNYXVN+4vJwL9qX -qcqG9o01XMbLjVHq7AiBz13JoYenQPln7pbaQ5xLHBmgSzP6EJGQblZz23vq34Fd -9gokTCVSVWEYD/Dsly22Pi254NAhp+aXLVH4PdPD04RVzVnu2Xu+OkQBLYxa2/mH -NYfgaMrwBgKO9JHIqHb6c5JfFrXxkEhiKwX9/20EWpEu1E/XM61a9i7ZF2BaH39p -Fn8gWoL6q3cC0tAPTlOYu3J0ycpdIQm5UQecoBfyEiCH0M2+Zvhzt4lf04xloT/V -YFQ0Yf7kF+fxPRW33rIr2wwsEbwTyAN5AgMBAAGjgdEwgc4wCQYDVR0TBAIwADAR -BglghkgBhvhCAQEEBAMCBaAwNQYJYIZIAYb4QgENBCgWJkZpcnN0YnJpZGdlIE9w -ZW5TU0wgQ2xpZW50IENlcnRpZmljYXRlMB0GA1UdDgQWBBS5nIUCDZlHhOq1tDYX -IXRbPTs/bjAfBgNVHSMEGDAWgBRLFcdSx+KQe8U5aqVsyriIsvzJLTAOBgNVHQ8B -Af8EBAMCBeAwJwYDVR0lBCAwHgYIKwYBBQUHAwIGCCsGAQUFBwMEBggrBgEFBQcD -AzANBgkqhkiG9w0BAQsFAAOCAgEAqIAsBuaO/1+TLWN5RkUy1zh4haslSwe08R7D -54MnQl3DcpcpaDa045PVJkec06p5Z9RxuzzyYBmPH5SoQ/PPiGTq3La4HBvPMDtH -BsyRdwxZHRf70inCKRGHTAKupL+duyx0AwsF5V0n2xF5QkGZLoxhOULY0rcVfiGM -IwfnCFBZWRuN9MOS8PopgyjjT9uXLlaARz26SIwPPKpxQunwykN1QUDrmapzSDz2 -PeTRwsOPuYuXN/XOUq8DUE4qVoUO8cr64aXzWy5UDOPZLs9zxdO+yqyy6Vex9Qsv -uch3mNgoXeu/gxTJ+euCy/n6RtiZe3z06wth/1+5kav5kmDduwpsepk05ql7BnCi -y/Ke9KbIOnjnMUjl1xXbo2rG7XVj7IpucP3LRT4rLB0VAxWVjype97WC7u6e2vry -TRv5VYHyzELD8hZz84ajUQ6NaGH6DfwtOwEX0Gxj/FuNiX3TrhcHdw4uVo4UypyQ -d1GZt8RpOy09jjZu5PNxnlBDkw5Bi8FaDVg9PM3Gq3I/ZT5dG6Zu5104iv2CgkdD -QJc4PhPsq4rPOLtWmrJ/J2AqBD9vfxjoMiAjLlzvyj6BIiJdMFnLi8qQBQw+G7bW -k5hPJtW40OX0IIYd/jiKcTHB+0oBlBvI450DmuryH1m1ikMEqPB99YPGtef8m3WS -EXVXy1c= ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn15/certs/2_1.crt b/apl-conf/src/main/resources/conf-tn15/certs/2_1.crt deleted file mode 100644 index 7613ffec3a..0000000000 --- a/apl-conf/src/main/resources/conf-tn15/certs/2_1.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGeDCCBGCgAwIBAgICEC0wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTEyNDEzMDMwNFoX -DTIyMDUxODEzMDMwNFowgZ0xCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ0w -CwYDVQQHDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTFREMQwwCgYDVQQL -DANDT08xHTAbBgNVBAMMFEdlb3JnZSBEemh5bmNoYXJhZHplMSgwJgYJKoZIhvcN -AQkBFhlnZW9yZ2UuY29vQGZpcnN0YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA75aMnpLfIWAuzX50072OR9Y5BxowLXggUE2wvTrUFwAo -1q8GETXK80xdhfZtMCkGlMvk8ldA3c+RPTXJIvjoDTGZOTERGOLxB32kSn74fPtu -yRUqktGMBI7JQM6My27owJtApIif2Xn7q8Qo8YguBmbzOEblO0FYVkd9IopePtvt -r/GvJStY0lNIQpXQEzdrK+QBIeXlBG1OiTswC2BU8MAc1SeZcF4fiLnPxT0m9KLF -60iIJ0WFBAmNYP8sQEnsEJRPzPm+rQhv1cAUzNPya9ZOubVqcHclKuzLfd7HOaJh -I7VPBjnd4FFMUzz3fk7jvT8uwvN5JeaU1V3g22bX/EZWmGchSJpFVCuxGdqj3TVn -eSh+D3WodzTobXC8oXxrGL6kDDRjYnLA74XngAFsDuT7yGpQoKQ1K3TL6Hkhwk+a -UMHJ3zi4ccOCNaC6TosJu9eNgXG1+SIBbKmBR59ltd6aLVlTk99nWBN3HsOs/Pnu -UITo36PdwouBTcKV6zQz1TezUsbYdQVfLQs/zvo88SmpNAuG7gcVXMCdd7TSGuk5 -Ac9xihO9hS8mmZouBymkuaugcji54vv4yBYoDXh2km9Ls/Ypcb5r/4jIh4DJFfs1 -5yqzq35smIl5cewVn9KEaETBetZ3Z5MdY8hMuZWPgPhqVVDRqOsnjpk5JmI2AQ8C -AwEAAaOB0TCBzjAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgB -hvhCAQ0EKBYmRmlyc3RicmlkZ2UgT3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUw -HQYDVR0OBBYEFIz6a4Hb4whZiQf2JYpAERgk6P8yMB8GA1UdIwQYMBaAFEsVx1LH -4pB7xTlqpWzKuIiy/MktMA4GA1UdDwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEF -BQcDAgYIKwYBBQUHAwQGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4ICAQAZZBJM -hw6dFMI3b9BCE3i49B2uxjRqtFRpNtOZoPgjVJzWvY+lwpJOXFVShQG67rt53xMM -SLcZvejQGJlQLLWJ0/BKDaeWpsrsoWfp9uNsy0xyhfeLxvsmQjdCDBLUC1/6Trhe -zVbSsQ7556wAHdPFS4x4BvssjdRPVmqckwT5GE5E2ATXYEuNHWDWktlFcCnaoc/P -lOSDQ3qkkVF8sFJnW0nH4nbQQHvyb0gzL+/MexIr3mqm93bXZJN/xbJ7jAgTPLwe -TWU5iCmdJPRxKOhuq6PUP3tJJs1ImT/1+6Hj+VENpOvwV2aeES9ahVCUYZwg4MgF -GTfNribVhpbzTrCALdGH7CBnXkAHYUP++Kr5+C9jXgfhesOGZCLlp1TAw0jrhNyf -bcCpRi24Vgca7b4G9nCxH7agbUo/BU31DEzlQ4K4PTh63NTAsJ4piXwSIFotaRNR -K5N84EN0D/EXlPFUafg5jC19S0RyoHw6SJ7zw5xhj/gxmo+ZLM4oLqJfT3ZX91/V -nNwc4O/cyoICooMMWnCfw6D8nqeWRNKzzN5MCjWL9ewmfm4L4VMKmzWzqKIGAuxK -Q33T/+YgeVsQFQEDy9+aD1rc7X8NHIY+VCEn7ZN3KbaZZ4XnZltn8NbsGLNSbda7 -XxD83EHKwf4mORRn5aX+/5biKe0/xCpfULYnvA== ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn15/certs/2_2.crt b/apl-conf/src/main/resources/conf-tn15/certs/2_2.crt deleted file mode 100644 index 324f7fb970..0000000000 --- a/apl-conf/src/main/resources/conf-tn15/certs/2_2.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -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 -XXpr1M5IhZt0X6sHYkasdl3m/b8= ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn15/certs/2_3.crt b/apl-conf/src/main/resources/conf-tn15/certs/2_3.crt deleted file mode 100644 index 5806a784a6..0000000000 --- a/apl-conf/src/main/resources/conf-tn15/certs/2_3.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGdTCCBF2gAwIBAgICECswDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NTgzOFoX -DTIyMDUxMzE2NTgzOFowgZoxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQsw -CQYDVQQHDAJCQzEUMBIGA1UECgwLRmlyc3RCcmlkZ2UxDjAMBgNVBAsMBURldmVs -MRkwFwYDVQQDDBBTdmlhdG9zbGF2IEdvbGRhMS4wLAYJKoZIhvcNAQkBFh9zdmlh -dG9zbGF2LmdvbGRhQGZpcnN0YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEFAAOC -Ag8AMIICCgKCAgEA2C813+Igz41/ihwSICa0z3HlYhRbRLyByRcKIFp6T/gvs+Mj -+fXrtp8Oodg64mekFW0bgehpqxyYYXkKIz3ObrkK7IUe6CjsctgIY4vdJ+tdK3OD -XCztQNCGtFfqV3/vLv47bq0lmTM342ekWR6NnUiMplIFFdb5VzjJmFQMLZRA6bYn -DQ4+6ml/RtypvVlhc0ey3bwKTMkpJoKylw6LXx6XMks+Y0Eyk/07bQKINOVq+lxS -4MgHsHTdLzd4v9lFldCNMKaMmx99uENDe4PuUVYAuagoQ/52sKEvXpoZJPtNOs9V -YaPfSnrfEyVHJ+M2Fr1ShNW0+v6WDzxjyLufd1514LnKIkXgALVYJnAjL3dxGdKf -Zk8LcNkDEDASceK2XXQTA6Yds86T+td2dKIsI/yGBSpp7mp5qvOsprIdx0nK6bbp -v+e1BZLdtgE0ZPjy0WAkqqZIt4W7MARmkjX8x5R5o0AGBstrDIQpLpHzGomQWVt4 -wEFC3M4Bu1Det//ODCbdXrVXWRirYUo4h4cYywGTQsEIV9yhAIOYntdSVSgRx9aI -+YNi30UVzBaCQFr2fNugk0YvKLr7lZ33tLj9gQBtTZjwo6/YcDj715VtY74IJTyg -mMbTE5N6qBrklO1dEiO3bHoiJeuiQLcfW0uIIaVlCNtSDXxQCqOBo0UX1BsCAwEA -AaOB0TCBzjAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgBhvhC -AQ0EKBYmRmlyc3RicmlkZ2UgT3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUwHQYD -VR0OBBYEFNIHdAVizPNxy3KvQgALrCXMCT0bMB8GA1UdIwQYMBaAFEsVx1LH4pB7 -xTlqpWzKuIiy/MktMA4GA1UdDwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEFBQcD -AgYIKwYBBQUHAwQGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4ICAQA6Ssrhwly9 -M63egy/8M6FqPTxbxKb+0QSOI6MD0IExAUPK7VsAJinT9BkV1y0kZQyJ6AIihcf/ -z3p5vkrrlhTmEDquGV5DjSbAKZUA0GlWESMfl6bdDHy2Mgea5QFb5INIjFlg/KXs -i/IMTOOL9NEDW/J4O/JXkrVpMmpvxXzxQPyfP/XqukykZaiJ4AiVhtKtTSJj0VWp -JYDlEQN27c4s91JUzC5Gx3oQABGjEfFsdMVZ6CKlHU7nnpX16VQW5kiInPCvetSM -7ai6J785x9CUQD+yo6nglVqf8I/C+omVbZsOEdCYmKigOfAFtpSJmzDo6IfEsVzg -hrSuuR9k8OIAeMgKB/Uk2R1vpg3ME+B0NfVMeYHcpnbtgw7ZkHA2ZfTQe7eT1Z2Q -2pBLQdCWN73FQ1AQuJ/YqddmHQzZbvGlX6sBBsm+hWeAWxwP+ivEYXGyApYcjaMG -JQC2zeBaas9xQfzKJVkwDyqe5B1xWypJNf0gavlbc/WXq/IVZZqyHVIYlRf9CAFz -U81XtQtbe8RLZ9yxWTh+1vI/nKHcFRKKH2hGQNhIr1XyZe3HTktQyzgM2VmvybV+ -nBc0q5wGR/w/15XDxKfcLdVbp9ISVJ7+DR4HjZHepLIuR/SBCqagBh1jfR6RJraQ -zwNUEFI6YENbZxyA1Onbw5tIfpKfAC7m9g== ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn15/certs/intermediate.crt b/apl-conf/src/main/resources/conf-tn15/certs/intermediate.crt deleted file mode 100644 index 5d0832b4bd..0000000000 --- a/apl-conf/src/main/resources/conf-tn15/certs/intermediate.crt +++ /dev/null @@ -1,35 +0,0 @@ ------BEGIN CERTIFICATE----- -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 -loQcZYg/Dw== ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn15/certs/rootCA.crt b/apl-conf/src/main/resources/conf-tn15/certs/rootCA.crt deleted file mode 100644 index dbe28ae482..0000000000 --- a/apl-conf/src/main/resources/conf-tn15/certs/rootCA.crt +++ /dev/null @@ -1,35 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGEDCCA/igAwIBAgIJAKcFbXmIl10mMA0GCSqGSIb3DQEBCwUAMIGUMQswCQYD -VQQGEwJVQTENMAsGA1UECAwES3lpdjEOMAwGA1UEBwwFUG9kaWwxFDASBgNVBAoM -C0ZpcnN0QnJpZGdlMQ8wDQYDVQQLDAZEZXZPcHMxGzAZBgNVBAMMEnd3dy5maXJz -dGJyaWRnZS5pbzEiMCAGCSqGSIb3DQEJARYTcm9vdEBmaXJzdGJyaWRnZS5pbzAe -Fw0xODA2MTIwNjQzNTNaFw0zODA2MDcwNjQzNTNaMIGUMQswCQYDVQQGEwJVQTEN -MAsGA1UECAwES3lpdjEOMAwGA1UEBwwFUG9kaWwxFDASBgNVBAoMC0ZpcnN0QnJp -ZGdlMQ8wDQYDVQQLDAZEZXZPcHMxGzAZBgNVBAMMEnd3dy5maXJzdGJyaWRnZS5p -bzEiMCAGCSqGSIb3DQEJARYTcm9vdEBmaXJzdGJyaWRnZS5pbzCCAiIwDQYJKoZI -hvcNAQEBBQADggIPADCCAgoCggIBAK0Owbv0qmLsUzLrfcOGObNBXSVNplD33+is -H1sjV3lAjHIWIywwLZMXcCUM8WWV32UocVnb4FPO2d76IWCviZAl54atRlDfL2rv -H+hYUCSXV60B0+1uDcSPr4+tq3yDgChvl73OtQDNa48UV9x+jPmUV3LGOrN/oqbU -8yNt7m8//gKcwQSxjWe6+VT+ZIVVlbVeUG4M+qWPaQMZsQZIElPjeaF9mz/dFImz -MwBFmCA7k03KaX0Qn7XKHrkhp52a+oa0sHk2F2B58NaQPwdUwUF9D6kB2PjD+Ev5 -RfF8gNdqTmY2Ufwiy0vCMB3micEJ0nDHK9/u7EnsGspHExvYQ4/x/hVktL29WWwv -OHqUd5cmsILGS4FuyQZ/jmZtw8AAhNhyImhLwFv0/iqvOby/lhmKBeSEYA8O1WCr -6by4+HiEzXmZ4MRokq/QxZKJ2WskTs8RL+FuzgtG7wvGkzRKmz5G4u+DzPsZs7ig -WV9K9CHsl5HCAn2FSCidRnmPen7592THzl7W/7dT9kmmA19dVtIqV86NUlB/5lf9 -i6oBeHXzBnreAtKuLB7XiNA1tCqo1dYPN3wNQEcqracbmM/RHK/BBfxAJvofgLLb -SN4gKj4mfprhT0V9tOFoWBZ1haFzQD6Oom3KcA0kjX3GESmld6mvxHLeKxTFvpoq -JgwiGxHvAgMBAAGjYzBhMB0GA1UdDgQWBBQC945QrkpuLT0cb9kkR+WXQXzKdzAf -BgNVHSMEGDAWgBQC945QrkpuLT0cb9kkR+WXQXzKdzAPBgNVHRMBAf8EBTADAQH/ -MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAaozG0E1WLt2MpAx4 -8c85BnYU2tNND+1ZU8SPYqHSOE3ZrpWnZwbOKiJGZ2jT33Sr/MLjabR9XQWZK4H3 -X2LasuIb6il/aPiJ/7sl3VLnu03wDa7YraRdpPL0B7M/zmKb2VjnsnrkRw1GHuKO -KnA6f3EhwCnUfARD0GSGKBvS+Rl+qhfhqXAN/Lpr4sCZnvaxfADwCulsh0ZsrIcw -YIZtOVkvZvI87q0txbC4K+TF5yfhKDdD0zuCnvQSEuNsLDsPx/S1GhhG4mXtJyDY -GGB9e1zh7GMRhloBkLgMd0g2FJf4EEK6dcHDHLul3HSyIsikr0f8gaOIoFFPD8bj -wno7npDSFkkY8zwTkx+a0y87CQSnj5Ko6st3ohZLO6g/KijH00cn8WEgxEdiG7Vw -Y4WgezCmLCjVFnLS4VRnwZW32iPZjWkwF6/FImSuiAIgZfT9q5n6dCLwHHUxPu7Q -V3FEA5mgJWZba/fPscfoa163pPoPaxZALBTLXdgVEv1KQUELtrwOGm5s796kj7VX -gxlj4TBMtURXKcuns7QAEKJDeKhnv8R5Oh3j5MkYRvTcyE+RfW5ewJRtiI2lv1ds -pOW3zIgJWY2I9HVHUDXmbskPMJjcPZpv1M6Me3id4bAWDP3I1SHu0mzqE5qXy5/l -5YyJ/mouRe1kokM1lAYIrb6HsLQ= ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn15/chains.json b/apl-conf/src/main/resources/conf-tn15/chains.json index 4e9ba3f25b..08c7459880 100644 --- a/apl-conf/src/main/resources/conf-tn15/chains.json +++ b/apl-conf/src/main/resources/conf-tn15/chains.json @@ -50,7 +50,34 @@ }, "shardingSettings": { "enabled": true, - "frequency": 2000 + "frequency": 100000 + }, + "smcSettings": { + "masterAccountPublicKey": "dd8a4621988974e669d115b5e0d48234eed145ff2ac94ec1012805459470fe1e", + "fuelLimitMinValue": 10000000, + "fuelLimitMaxValue": 30000000000, + "fuelPriceMinValue": 10000, + "fuelPriceMaxValue": 100000000 + } + }, + { + "height": 600000, + "maxNumberOfTransactions": 255, + "maxArbitraryMessageLength": 160, + "maxNumberOfChildAccounts": 10, + "blockTime": 2, + "maxBlockTimeLimit": 3, + "minBlockTimeLimit": 1, + "maxBalance": 30000000000, + "consensusSettings": { + "adaptiveForgingSettings": { + "enabled": "true", + "adaptiveBlockTime": 10 + } + }, + "shardingSettings": { + "enabled": true, + "frequency": 10000 }, "smcSettings": { "masterAccountPublicKey": "dd8a4621988974e669d115b5e0d48234eed145ff2ac94ec1012805459470fe1e", diff --git a/apl-conf/src/main/resources/conf-tn2/certs/1_1.crt b/apl-conf/src/main/resources/conf-tn2/certs/1_1.crt deleted file mode 100644 index 11e4a2c18e..0000000000 --- a/apl-conf/src/main/resources/conf-tn2/certs/1_1.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGZTCCBE2gAwIBAgICECcwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDMzNFoX -DTIyMDUxMzE2NDMzNFowgYoxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ0w -CwYDVQQHDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTExDMRgwFgYDVQQD -DA9BbmRyZXcgQm95YXJza3kxKDAmBgkqhkiG9w0BCQEWGWFuZHJldy5ib3lhcnNr -aUBnbWFpbC5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCV0/1a -bFOaNOLWU5NqRhV4Fn0kY5lLZ9WWvktLfv6ayBoIV4z95msGdAac2YhDdRC9bE7i -sPiz181qknwmUBq1js1wJotEhXuLf2CI5l8t3ENjEzQS7NJKFmusai6yKdFloL+x -KRJle/jGEX3ox59hiHlwzqZrWszO2nI+kNOWcFbzcReJEfnpj3HW3TeC1y0SL97d -8b79i63u/Fk7Y9IpWIsNgU+h8PinqP+wCeciN0DfbdmVQrNPeNGLl2lAGHP+qstr -tOdXxJxJG5qyi9F6Upaza8J1QGxpPJaa3v9LwcUQdV/hVefDRXntsvPdRMEFwUpo -zKiV1IOTh6Tvp/3bJnS+BHBWdOdcLMSjE3v51Igs3BSf5OXeMxYyMfSCOsfPItYH -aWfDESp6Yp9LkhXp9ED4vltVtLr9ZRx7QVm9ejhTtwLCjqdwhFPPKS4xZKNx8LbH -9UpjJegVddYbLuRbOA1AgvFxs/DlQcD8dLytFPgyNQncsmuLa2jW9bqpKH97ShQM -XeneAkZ8MbexV4sq16Rzza+YM4btHyau54zbOf8tToODzHGeo008JDnNUnLIav7S -UrD0VSfSEapSwkfxfKWJxirDJwVFSWaUzyiYQcyodkgL+qvu/FIEd+ez806mr/1+ -zTr66P8iKIJgx9N+tL9AmLC3fQzbtxtobaehvQIDAQABo4HRMIHOMAkGA1UdEwQC -MAAwEQYJYIZIAYb4QgEBBAQDAgWgMDUGCWCGSAGG+EIBDQQoFiZGaXJzdGJyaWRn -ZSBPcGVuU1NMIENsaWVudCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU+79lra4ptoen -wQ1yJ79rNrrviCYwHwYDVR0jBBgwFoAUSxXHUsfikHvFOWqlbMq4iLL8yS0wDgYD -VR0PAQH/BAQDAgXgMCcGA1UdJQQgMB4GCCsGAQUFBwMCBggrBgEFBQcDBAYIKwYB -BQUHAwMwDQYJKoZIhvcNAQELBQADggIBACnXYSrj0UjF9Nc6aq6l6lfiwqeef/ck -l9Dp3uKGKVe0YUydO5XERWIV8+6QrwLr5Kk4WOVK28jDCaQurl4/+3xC6ZcY0839 -2jZXWIkhuWI0frq0lQTP/puNxKxAzA/a9XGFXVomBc2C/NmPGjOdbJZ3Ia9ozr6g -ssOr8CDne0UrBOKmMPj4Wd9M5lP9wwIaGemxfs79G0MyjhsgSUnsVm9NdNfnX3qc -C8Can1GuHUetUaLZkXCzN4j5etMnvMRDZ2OCVLEy1H7Ou9L8JT5rHo1O/WQGdy80 -3tIakvjGAYikKZsoU+dcf1tJ3JARVuyuKnB89XV1Q7igAFD7Xr4+TMFUGnQf9/+c -dMoaAZq5YCWjpOGiebrhCSIcVRwlLbxdtMPRL9G9hVe5yn2FHQysDkAQ8O5jj7tR -j9+PvcjG9uarlOiWmMy+ZYKwnHKAUxqOk4w9aZFIURt53m589IhZB3q7oMueD9nF -aEpfqyfJz8/zKARS0eKqqrv78rAetf8zFfef6pV3IECtDGc9axvdTMvOvsGwjobv -AM0g2T6XyVM6pN4bDrxmkS6cy4inhYOe3gXverDDjpaMozYcHV1xUkC/AtVVUWRR -ueaa5vMWC4xhsTBZJ8XqSIan75aCleisSzaGS8OHP4+kuoJKi06My+AGRsq09w0S -6CMfM1dq0jkH ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn2/certs/1_2.crt b/apl-conf/src/main/resources/conf-tn2/certs/1_2.crt deleted file mode 100644 index e22655774a..0000000000 --- a/apl-conf/src/main/resources/conf-tn2/certs/1_2.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGdzCCBF+gAwIBAgICECgwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDQwNFoX -DTIyMDUxMzE2NDQwNFowgZwxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLaWV2MQ0w -CwYDVQQHDARLaWV2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTHRkMQswCQYDVQQL -DAJRQTEYMBYGA1UEAwwPTWFrc2ltIEtoYWJlbmtvMS0wKwYJKoZIhvcNAQkBFh5t -YWtzaW0ua2hhYmVua29AZmlyc3RicmlkZ2UuaW8wggIiMA0GCSqGSIb3DQEBAQUA -A4ICDwAwggIKAoICAQDHfLDK95NWKHN9Dtx1NC3seXnZHXWlnuRLzGUxhNV/m221 -4JqRR0GZ354cPOVMYrdkbu+g+XgGwqB3JEHNfnbW7JPMF03SumjpMgCGpFQodZUR -F2HMNVijMTgbD1AWMbPK6M6Iph8M2Y9XtF/jWE/+8R5knuAeumJVk9plvkHg8W04 -rZtMMoX33j4x4s7ZuuwoTVtL0tbccXzGInyk64mkUmOltk/Yh97T4AHyPIDZo/ux -Ns5Iq/L5bE9P7Nmh0glQGYig4f/3C0vK+FuubZRKphHLgczdJlBfMAQ+40IxBWJK -TnbjIHLloWq0f7j5SH9kfHUGxLR+p11dUTrBRpUFOGeWl3lQMicp43nrD7YocOxe -fZO02Z4mP7n1RLfA3CRFpB3aFLjbyvCa+OBD7yHUEA27H1YTX9xhxEgYjFrZDvSv -5jGth5U/Qvn5Trwe5rDS5QNnUsk4klPqZRYypLCtoGSct7OXYFP1p65KFES731Gj -8E6LTho/lGwibPomgwEeQRh5GwCPWoMLaN1zCQ9MAYZz1hevPRDFd970gmjAue4g -BICEAqQ06b3h1Wh5OgSdizmRcQJQGBW1L6h+dx5Fw09anWrmunRgG7ieXJoab9Tl -wjfMjjVUhuXx2fAP3vakqOU5Ak7HqtYTQawrj8Kp7XA04Hzg1OM/pzEvOwixvQID -AQABo4HRMIHOMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgWgMDUGCWCGSAGG -+EIBDQQoFiZGaXJzdGJyaWRnZSBPcGVuU1NMIENsaWVudCBDZXJ0aWZpY2F0ZTAd -BgNVHQ4EFgQU1TQGa9VBjCEC2IwqK2MgnKyKEIMwHwYDVR0jBBgwFoAUSxXHUsfi -kHvFOWqlbMq4iLL8yS0wDgYDVR0PAQH/BAQDAgXgMCcGA1UdJQQgMB4GCCsGAQUF -BwMCBggrBgEFBQcDBAYIKwYBBQUHAwMwDQYJKoZIhvcNAQELBQADggIBADl4Vi4B -2iM1V6RlPuNv0fy2sMxpoob+GcNsEdTFh1u+awVfwo0wWkU6YZYk7xhwE4nRMrgD -WwCUIbUd6FSYaZ5Zr2tlj8LIj9MwKm2txJewLb7Nx93t6NAag/o0gcy0hPCdEGdz -DPFts65plZgnxjwByTJXgU2lW/AvaNX3IySxhHY6eH1WY2wcN8VFZTXJHzqtpIPU -8wIi7rfk6H65m1YumjCTXbDydTCUCXYOzJxpQwaouI7jJFVoAPtVDBg7kQSP8iHD -7hzdA60oXlO54o/DSiCy6rFpruMVh7OUwoPTlGEbrvWn6Ex8FHfe3/P876/GOOI1 -r9JpXt+9R8H0NdzfAsjLylWVSpS+faEwKTNEoYjNWaJA7ScZOyyDdzBCHgoqLQvG -ke8DpxdHMrkNX3PS6fUq7b1MF2oGZY+y6Rslqe7KK/RUHNsW3I2ElxGomn8jtMo+ -2TbabG3e4DHXc0Z9DAcgtVWKAJ/0Bf5wcvrJ10TBYXtBTJ+n+AKLD8OjMlpj/zrY -fj/ki58CV0Xe+ou9wmVAb12o6Obtot8RI/YYP0jYoOl0XSf7PE0uWHxWxqoq+KwR -YDAsVujG2KKWBcvXDxwkcd3XCfhuc94ecrBskI3x8Vs/x9qArq75uATthffw4Jit -vBdOc4srytIdREo35LjC3xam5CHsTYgfRn9m ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn2/certs/1_3.crt b/apl-conf/src/main/resources/conf-tn2/certs/1_3.crt deleted file mode 100644 index 28b898c496..0000000000 --- a/apl-conf/src/main/resources/conf-tn2/certs/1_3.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGYzCCBEugAwIBAgICEB4wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTE5MTEyODE0MzExOFoX -DTIwMTIxMjE0MzExOFowgYgxCzAJBgNVBAYTAlVBMQswCQYDVQQIDAJDTjELMAkG -A1UEBwwCQ04xFzAVBgNVBAoMDkZpcnN0QnJpZGdlLmlvMRkwFwYDVQQDDBBhcG9s -bG93YWxsZXQub3JnMSswKQYJKoZIhvcNAQkBFhxvbGVrc2l5Lmx1a2luQGZyaXN0 -YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4Pj571wN -HXIngO8mEp/znveFKwbyWD+t8MQSqEXFFDOCEFuzDVj/leaN7cRW+PiR2gQmO9MB -EFIg8UHV82WE5jomjI/oi2PGgdVXjkOvFyF9hIXtKV4j+V/AVXm8lswOjkdV0BuR -cx37u/dQHTanRqIOqQ+hAiBRR4aY63V3MGeK+K8ypxEOoMsC2t3HPWECrlhh5xir -M5FZX+BpnvhUwTEnJsEdugiQUBg5joCUnvGvxiPq/5aDYP/dkQmEued+Lvy3WgkI -H6gnJHS5QiMR5YfbPkUAXWnEXQ62BxWdyqI0oTZ7uHzJhmkrF+aRTFzEJZZIualK -xLDT7qeO8Cd8ifrMHdVZ4fMcnlDwarGA4jgZ5N3gmRNG4WI6ESMCnZct8DkXF8Sg -eQnh1TuTY8elV4/2X33cFtpe7YfyMXxoyqohesqANjihdDEZ3O7OGK1CxBjIxkvr -GETsPJWlkPy2gIcrAhCvwcCt3fdl+l/QXv+TdyP2JZrYyfs/T5uMI+ypHu98fZWI -3oRgD0/sOEWr0dOlJKEiE6TL+dMe8IqR9r4RoQRJS2sOo7Sy47MRXhDQM7E3aHDV -EvkxMpoC6IxHD6Xs6xWBZ8utwwwV9zoaX1oRl3/hT22zvlWoZnjqGfcR7WFJiDAD -RZQFLg3z3fFHg2+Qz/rrbsEIPhLp4vCrEF8CAwEAAaOB0TCBzjAJBgNVHRMEAjAA -MBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgBhvhCAQ0EKBYmRmlyc3RicmlkZ2Ug -T3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFEP41g/42ArtYyuV -t6lhQ30vvNBMMB8GA1UdIwQYMBaAFEsVx1LH4pB7xTlqpWzKuIiy/MktMA4GA1Ud -DwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEFBQcDAgYIKwYBBQUHAwQGCCsGAQUF -BwMDMA0GCSqGSIb3DQEBCwUAA4ICAQA3QRcWoNlBYycRnp9hD5snVSn0DqkTHMg6 -6dG3g+07jwbjPQjvI67ylhxRt3cfwtpd3oUBCARu2HxDMsMTSa/xwLfE9u8m+0A6 -FsFIHSKH3dEQzhf1Ty2cIQXF+KydOOVa3kXbpBMshfzAUwAemL/4dbgmBnsTuT2D -Qq4+mO75OHxbvPVqkvVH/EcVleQd0GArO0EeBoxrm2P4ArVLTHUoIbSE+ihacWRL -JEhr1B5365mDRlOhIQa8b3DVohz0YlHUPCq5hecdSHbN/JpkhpFqvNMdTphmhyMR -KZ5f6cVpOwVw5CwGHRUxcfBfVYu93GJqAYizlNIXn5Bz46MDv1xKJZ1hohok2r/T -zaoD7i0mhm2TJn6Do0xPu13XLuGR9cR+87njSK57S5RzGKJsjHoqAFmkIvhFCMzV -kGkcX3sp6k4WWP23Ym7JZBvp4WjCg68d8m1zVrt2u4duI9JiAEZc6lnfxPVc0Mm1 -159HDXom3lQhpavTPWWY8U1kMrpVAOOPk06D6dr5MEEBPBTnmVitr5iDbg5J9bjP -IEge5MMbFls6FTLVsWdTb06rLLrkJ59zmpg18VgKWaCn4HzOBw4qpZyRw50Wf3WQ -wglD8D6SQqjPVNJyoxLNelBD0hYFcNo0Kgo5+3r5N7kumYZlkatPsYpYt3CjTAcI -/3PsdjVyyA== ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn2/certs/1_4.crt b/apl-conf/src/main/resources/conf-tn2/certs/1_4.crt deleted file mode 100644 index 1ac7907588..0000000000 --- a/apl-conf/src/main/resources/conf-tn2/certs/1_4.crt +++ /dev/null @@ -1,38 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGkTCCBHmgAwIBAgICECkwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDQxNloX -DTIyMDUxMzE2NDQxNlowgbYxCzAJBgNVBAYTAlVBMRkwFwYDVQQIDBBJdmFuby1G -cmFua2l2c2thMRgwFgYDVQQHDA9JdmFuby1GcmFua2l2c2sxGTAXBgNVBAoMEEZp -cnN0QnJpZGdlIEx0ZC4xHzAdBgNVBAsMFkJsb2NrY2hhaW4gRGV2ZWxvcG1lbnQx -GDAWBgNVBAMMD1Jvc3R5c2xhdiBHb2xkYTEcMBoGCSqGSIb3DQEJARYNdHhfaHZA -dWtyLm5ldDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAND5kGVyK4J2 -ozPOfNLVqm12PGXVp+tT1FFwG9UZ6Glosh01l1azYfNTDuJt+zFKbpgzZLYcZhks -oEcJlQK6/TiYlwvCkf7xHc/5sC0BHCPpJGcesVloanerP+Qg2Rhp3BvIu2kW1v6E -KiAiEKbAaefvIiufhGtnb7c5JpOhjrJW9CcJMCQESVNrKbMqT2E5u08nvWrVPoBm -3tu7MvVOdESV42qKWr4l58PL02JUJYoE6zFx54b4u7q/CXjkUvFR5i98JMhFmuEI -Q7FPJyb0IsspiPQI0t5tfNQwPtrI1004AgG08Qies9MP5ucfXuGY1y7G+CbD6785 -6RzIwXvFsVCAiKXGVOxvpy7si1o4feV2S7+re9aTQj11MEQYDWNYXVN+4vJwL9qX -qcqG9o01XMbLjVHq7AiBz13JoYenQPln7pbaQ5xLHBmgSzP6EJGQblZz23vq34Fd -9gokTCVSVWEYD/Dsly22Pi254NAhp+aXLVH4PdPD04RVzVnu2Xu+OkQBLYxa2/mH -NYfgaMrwBgKO9JHIqHb6c5JfFrXxkEhiKwX9/20EWpEu1E/XM61a9i7ZF2BaH39p -Fn8gWoL6q3cC0tAPTlOYu3J0ycpdIQm5UQecoBfyEiCH0M2+Zvhzt4lf04xloT/V -YFQ0Yf7kF+fxPRW33rIr2wwsEbwTyAN5AgMBAAGjgdEwgc4wCQYDVR0TBAIwADAR -BglghkgBhvhCAQEEBAMCBaAwNQYJYIZIAYb4QgENBCgWJkZpcnN0YnJpZGdlIE9w -ZW5TU0wgQ2xpZW50IENlcnRpZmljYXRlMB0GA1UdDgQWBBS5nIUCDZlHhOq1tDYX -IXRbPTs/bjAfBgNVHSMEGDAWgBRLFcdSx+KQe8U5aqVsyriIsvzJLTAOBgNVHQ8B -Af8EBAMCBeAwJwYDVR0lBCAwHgYIKwYBBQUHAwIGCCsGAQUFBwMEBggrBgEFBQcD -AzANBgkqhkiG9w0BAQsFAAOCAgEAqIAsBuaO/1+TLWN5RkUy1zh4haslSwe08R7D -54MnQl3DcpcpaDa045PVJkec06p5Z9RxuzzyYBmPH5SoQ/PPiGTq3La4HBvPMDtH -BsyRdwxZHRf70inCKRGHTAKupL+duyx0AwsF5V0n2xF5QkGZLoxhOULY0rcVfiGM -IwfnCFBZWRuN9MOS8PopgyjjT9uXLlaARz26SIwPPKpxQunwykN1QUDrmapzSDz2 -PeTRwsOPuYuXN/XOUq8DUE4qVoUO8cr64aXzWy5UDOPZLs9zxdO+yqyy6Vex9Qsv -uch3mNgoXeu/gxTJ+euCy/n6RtiZe3z06wth/1+5kav5kmDduwpsepk05ql7BnCi -y/Ke9KbIOnjnMUjl1xXbo2rG7XVj7IpucP3LRT4rLB0VAxWVjype97WC7u6e2vry -TRv5VYHyzELD8hZz84ajUQ6NaGH6DfwtOwEX0Gxj/FuNiX3TrhcHdw4uVo4UypyQ -d1GZt8RpOy09jjZu5PNxnlBDkw5Bi8FaDVg9PM3Gq3I/ZT5dG6Zu5104iv2CgkdD -QJc4PhPsq4rPOLtWmrJ/J2AqBD9vfxjoMiAjLlzvyj6BIiJdMFnLi8qQBQw+G7bW -k5hPJtW40OX0IIYd/jiKcTHB+0oBlBvI450DmuryH1m1ikMEqPB99YPGtef8m3WS -EXVXy1c= ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn2/certs/2_1.crt b/apl-conf/src/main/resources/conf-tn2/certs/2_1.crt deleted file mode 100644 index 7613ffec3a..0000000000 --- a/apl-conf/src/main/resources/conf-tn2/certs/2_1.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGeDCCBGCgAwIBAgICEC0wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTEyNDEzMDMwNFoX -DTIyMDUxODEzMDMwNFowgZ0xCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ0w -CwYDVQQHDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTFREMQwwCgYDVQQL -DANDT08xHTAbBgNVBAMMFEdlb3JnZSBEemh5bmNoYXJhZHplMSgwJgYJKoZIhvcN -AQkBFhlnZW9yZ2UuY29vQGZpcnN0YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA75aMnpLfIWAuzX50072OR9Y5BxowLXggUE2wvTrUFwAo -1q8GETXK80xdhfZtMCkGlMvk8ldA3c+RPTXJIvjoDTGZOTERGOLxB32kSn74fPtu -yRUqktGMBI7JQM6My27owJtApIif2Xn7q8Qo8YguBmbzOEblO0FYVkd9IopePtvt -r/GvJStY0lNIQpXQEzdrK+QBIeXlBG1OiTswC2BU8MAc1SeZcF4fiLnPxT0m9KLF -60iIJ0WFBAmNYP8sQEnsEJRPzPm+rQhv1cAUzNPya9ZOubVqcHclKuzLfd7HOaJh -I7VPBjnd4FFMUzz3fk7jvT8uwvN5JeaU1V3g22bX/EZWmGchSJpFVCuxGdqj3TVn -eSh+D3WodzTobXC8oXxrGL6kDDRjYnLA74XngAFsDuT7yGpQoKQ1K3TL6Hkhwk+a -UMHJ3zi4ccOCNaC6TosJu9eNgXG1+SIBbKmBR59ltd6aLVlTk99nWBN3HsOs/Pnu -UITo36PdwouBTcKV6zQz1TezUsbYdQVfLQs/zvo88SmpNAuG7gcVXMCdd7TSGuk5 -Ac9xihO9hS8mmZouBymkuaugcji54vv4yBYoDXh2km9Ls/Ypcb5r/4jIh4DJFfs1 -5yqzq35smIl5cewVn9KEaETBetZ3Z5MdY8hMuZWPgPhqVVDRqOsnjpk5JmI2AQ8C -AwEAAaOB0TCBzjAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgB -hvhCAQ0EKBYmRmlyc3RicmlkZ2UgT3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUw -HQYDVR0OBBYEFIz6a4Hb4whZiQf2JYpAERgk6P8yMB8GA1UdIwQYMBaAFEsVx1LH -4pB7xTlqpWzKuIiy/MktMA4GA1UdDwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEF -BQcDAgYIKwYBBQUHAwQGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4ICAQAZZBJM -hw6dFMI3b9BCE3i49B2uxjRqtFRpNtOZoPgjVJzWvY+lwpJOXFVShQG67rt53xMM -SLcZvejQGJlQLLWJ0/BKDaeWpsrsoWfp9uNsy0xyhfeLxvsmQjdCDBLUC1/6Trhe -zVbSsQ7556wAHdPFS4x4BvssjdRPVmqckwT5GE5E2ATXYEuNHWDWktlFcCnaoc/P -lOSDQ3qkkVF8sFJnW0nH4nbQQHvyb0gzL+/MexIr3mqm93bXZJN/xbJ7jAgTPLwe -TWU5iCmdJPRxKOhuq6PUP3tJJs1ImT/1+6Hj+VENpOvwV2aeES9ahVCUYZwg4MgF -GTfNribVhpbzTrCALdGH7CBnXkAHYUP++Kr5+C9jXgfhesOGZCLlp1TAw0jrhNyf -bcCpRi24Vgca7b4G9nCxH7agbUo/BU31DEzlQ4K4PTh63NTAsJ4piXwSIFotaRNR -K5N84EN0D/EXlPFUafg5jC19S0RyoHw6SJ7zw5xhj/gxmo+ZLM4oLqJfT3ZX91/V -nNwc4O/cyoICooMMWnCfw6D8nqeWRNKzzN5MCjWL9ewmfm4L4VMKmzWzqKIGAuxK -Q33T/+YgeVsQFQEDy9+aD1rc7X8NHIY+VCEn7ZN3KbaZZ4XnZltn8NbsGLNSbda7 -XxD83EHKwf4mORRn5aX+/5biKe0/xCpfULYnvA== ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn2/certs/2_2.crt b/apl-conf/src/main/resources/conf-tn2/certs/2_2.crt deleted file mode 100644 index 324f7fb970..0000000000 --- a/apl-conf/src/main/resources/conf-tn2/certs/2_2.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -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 -XXpr1M5IhZt0X6sHYkasdl3m/b8= ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn2/certs/2_3.crt b/apl-conf/src/main/resources/conf-tn2/certs/2_3.crt deleted file mode 100644 index 5806a784a6..0000000000 --- a/apl-conf/src/main/resources/conf-tn2/certs/2_3.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGdTCCBF2gAwIBAgICECswDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NTgzOFoX -DTIyMDUxMzE2NTgzOFowgZoxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQsw -CQYDVQQHDAJCQzEUMBIGA1UECgwLRmlyc3RCcmlkZ2UxDjAMBgNVBAsMBURldmVs -MRkwFwYDVQQDDBBTdmlhdG9zbGF2IEdvbGRhMS4wLAYJKoZIhvcNAQkBFh9zdmlh -dG9zbGF2LmdvbGRhQGZpcnN0YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEFAAOC -Ag8AMIICCgKCAgEA2C813+Igz41/ihwSICa0z3HlYhRbRLyByRcKIFp6T/gvs+Mj -+fXrtp8Oodg64mekFW0bgehpqxyYYXkKIz3ObrkK7IUe6CjsctgIY4vdJ+tdK3OD -XCztQNCGtFfqV3/vLv47bq0lmTM342ekWR6NnUiMplIFFdb5VzjJmFQMLZRA6bYn -DQ4+6ml/RtypvVlhc0ey3bwKTMkpJoKylw6LXx6XMks+Y0Eyk/07bQKINOVq+lxS -4MgHsHTdLzd4v9lFldCNMKaMmx99uENDe4PuUVYAuagoQ/52sKEvXpoZJPtNOs9V -YaPfSnrfEyVHJ+M2Fr1ShNW0+v6WDzxjyLufd1514LnKIkXgALVYJnAjL3dxGdKf -Zk8LcNkDEDASceK2XXQTA6Yds86T+td2dKIsI/yGBSpp7mp5qvOsprIdx0nK6bbp -v+e1BZLdtgE0ZPjy0WAkqqZIt4W7MARmkjX8x5R5o0AGBstrDIQpLpHzGomQWVt4 -wEFC3M4Bu1Det//ODCbdXrVXWRirYUo4h4cYywGTQsEIV9yhAIOYntdSVSgRx9aI -+YNi30UVzBaCQFr2fNugk0YvKLr7lZ33tLj9gQBtTZjwo6/YcDj715VtY74IJTyg -mMbTE5N6qBrklO1dEiO3bHoiJeuiQLcfW0uIIaVlCNtSDXxQCqOBo0UX1BsCAwEA -AaOB0TCBzjAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgBhvhC -AQ0EKBYmRmlyc3RicmlkZ2UgT3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUwHQYD -VR0OBBYEFNIHdAVizPNxy3KvQgALrCXMCT0bMB8GA1UdIwQYMBaAFEsVx1LH4pB7 -xTlqpWzKuIiy/MktMA4GA1UdDwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEFBQcD -AgYIKwYBBQUHAwQGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4ICAQA6Ssrhwly9 -M63egy/8M6FqPTxbxKb+0QSOI6MD0IExAUPK7VsAJinT9BkV1y0kZQyJ6AIihcf/ -z3p5vkrrlhTmEDquGV5DjSbAKZUA0GlWESMfl6bdDHy2Mgea5QFb5INIjFlg/KXs -i/IMTOOL9NEDW/J4O/JXkrVpMmpvxXzxQPyfP/XqukykZaiJ4AiVhtKtTSJj0VWp -JYDlEQN27c4s91JUzC5Gx3oQABGjEfFsdMVZ6CKlHU7nnpX16VQW5kiInPCvetSM -7ai6J785x9CUQD+yo6nglVqf8I/C+omVbZsOEdCYmKigOfAFtpSJmzDo6IfEsVzg -hrSuuR9k8OIAeMgKB/Uk2R1vpg3ME+B0NfVMeYHcpnbtgw7ZkHA2ZfTQe7eT1Z2Q -2pBLQdCWN73FQ1AQuJ/YqddmHQzZbvGlX6sBBsm+hWeAWxwP+ivEYXGyApYcjaMG -JQC2zeBaas9xQfzKJVkwDyqe5B1xWypJNf0gavlbc/WXq/IVZZqyHVIYlRf9CAFz -U81XtQtbe8RLZ9yxWTh+1vI/nKHcFRKKH2hGQNhIr1XyZe3HTktQyzgM2VmvybV+ -nBc0q5wGR/w/15XDxKfcLdVbp9ISVJ7+DR4HjZHepLIuR/SBCqagBh1jfR6RJraQ -zwNUEFI6YENbZxyA1Onbw5tIfpKfAC7m9g== ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn2/certs/intermediate.crt b/apl-conf/src/main/resources/conf-tn2/certs/intermediate.crt deleted file mode 100644 index 5d0832b4bd..0000000000 --- a/apl-conf/src/main/resources/conf-tn2/certs/intermediate.crt +++ /dev/null @@ -1,35 +0,0 @@ ------BEGIN CERTIFICATE----- -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 -loQcZYg/Dw== ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn2/certs/rootCA.crt b/apl-conf/src/main/resources/conf-tn2/certs/rootCA.crt deleted file mode 100644 index dbe28ae482..0000000000 --- a/apl-conf/src/main/resources/conf-tn2/certs/rootCA.crt +++ /dev/null @@ -1,35 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGEDCCA/igAwIBAgIJAKcFbXmIl10mMA0GCSqGSIb3DQEBCwUAMIGUMQswCQYD -VQQGEwJVQTENMAsGA1UECAwES3lpdjEOMAwGA1UEBwwFUG9kaWwxFDASBgNVBAoM -C0ZpcnN0QnJpZGdlMQ8wDQYDVQQLDAZEZXZPcHMxGzAZBgNVBAMMEnd3dy5maXJz -dGJyaWRnZS5pbzEiMCAGCSqGSIb3DQEJARYTcm9vdEBmaXJzdGJyaWRnZS5pbzAe -Fw0xODA2MTIwNjQzNTNaFw0zODA2MDcwNjQzNTNaMIGUMQswCQYDVQQGEwJVQTEN -MAsGA1UECAwES3lpdjEOMAwGA1UEBwwFUG9kaWwxFDASBgNVBAoMC0ZpcnN0QnJp -ZGdlMQ8wDQYDVQQLDAZEZXZPcHMxGzAZBgNVBAMMEnd3dy5maXJzdGJyaWRnZS5p -bzEiMCAGCSqGSIb3DQEJARYTcm9vdEBmaXJzdGJyaWRnZS5pbzCCAiIwDQYJKoZI -hvcNAQEBBQADggIPADCCAgoCggIBAK0Owbv0qmLsUzLrfcOGObNBXSVNplD33+is -H1sjV3lAjHIWIywwLZMXcCUM8WWV32UocVnb4FPO2d76IWCviZAl54atRlDfL2rv -H+hYUCSXV60B0+1uDcSPr4+tq3yDgChvl73OtQDNa48UV9x+jPmUV3LGOrN/oqbU -8yNt7m8//gKcwQSxjWe6+VT+ZIVVlbVeUG4M+qWPaQMZsQZIElPjeaF9mz/dFImz -MwBFmCA7k03KaX0Qn7XKHrkhp52a+oa0sHk2F2B58NaQPwdUwUF9D6kB2PjD+Ev5 -RfF8gNdqTmY2Ufwiy0vCMB3micEJ0nDHK9/u7EnsGspHExvYQ4/x/hVktL29WWwv -OHqUd5cmsILGS4FuyQZ/jmZtw8AAhNhyImhLwFv0/iqvOby/lhmKBeSEYA8O1WCr -6by4+HiEzXmZ4MRokq/QxZKJ2WskTs8RL+FuzgtG7wvGkzRKmz5G4u+DzPsZs7ig -WV9K9CHsl5HCAn2FSCidRnmPen7592THzl7W/7dT9kmmA19dVtIqV86NUlB/5lf9 -i6oBeHXzBnreAtKuLB7XiNA1tCqo1dYPN3wNQEcqracbmM/RHK/BBfxAJvofgLLb -SN4gKj4mfprhT0V9tOFoWBZ1haFzQD6Oom3KcA0kjX3GESmld6mvxHLeKxTFvpoq -JgwiGxHvAgMBAAGjYzBhMB0GA1UdDgQWBBQC945QrkpuLT0cb9kkR+WXQXzKdzAf -BgNVHSMEGDAWgBQC945QrkpuLT0cb9kkR+WXQXzKdzAPBgNVHRMBAf8EBTADAQH/ -MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAaozG0E1WLt2MpAx4 -8c85BnYU2tNND+1ZU8SPYqHSOE3ZrpWnZwbOKiJGZ2jT33Sr/MLjabR9XQWZK4H3 -X2LasuIb6il/aPiJ/7sl3VLnu03wDa7YraRdpPL0B7M/zmKb2VjnsnrkRw1GHuKO -KnA6f3EhwCnUfARD0GSGKBvS+Rl+qhfhqXAN/Lpr4sCZnvaxfADwCulsh0ZsrIcw -YIZtOVkvZvI87q0txbC4K+TF5yfhKDdD0zuCnvQSEuNsLDsPx/S1GhhG4mXtJyDY -GGB9e1zh7GMRhloBkLgMd0g2FJf4EEK6dcHDHLul3HSyIsikr0f8gaOIoFFPD8bj -wno7npDSFkkY8zwTkx+a0y87CQSnj5Ko6st3ohZLO6g/KijH00cn8WEgxEdiG7Vw -Y4WgezCmLCjVFnLS4VRnwZW32iPZjWkwF6/FImSuiAIgZfT9q5n6dCLwHHUxPu7Q -V3FEA5mgJWZba/fPscfoa163pPoPaxZALBTLXdgVEv1KQUELtrwOGm5s796kj7VX -gxlj4TBMtURXKcuns7QAEKJDeKhnv8R5Oh3j5MkYRvTcyE+RfW5ewJRtiI2lv1ds -pOW3zIgJWY2I9HVHUDXmbskPMJjcPZpv1M6Me3id4bAWDP3I1SHu0mzqE5qXy5/l -5YyJ/mouRe1kokM1lAYIrb6HsLQ= ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn3/certs/1_1.crt b/apl-conf/src/main/resources/conf-tn3/certs/1_1.crt deleted file mode 100644 index 11e4a2c18e..0000000000 --- a/apl-conf/src/main/resources/conf-tn3/certs/1_1.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGZTCCBE2gAwIBAgICECcwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDMzNFoX -DTIyMDUxMzE2NDMzNFowgYoxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ0w -CwYDVQQHDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTExDMRgwFgYDVQQD -DA9BbmRyZXcgQm95YXJza3kxKDAmBgkqhkiG9w0BCQEWGWFuZHJldy5ib3lhcnNr -aUBnbWFpbC5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCV0/1a -bFOaNOLWU5NqRhV4Fn0kY5lLZ9WWvktLfv6ayBoIV4z95msGdAac2YhDdRC9bE7i -sPiz181qknwmUBq1js1wJotEhXuLf2CI5l8t3ENjEzQS7NJKFmusai6yKdFloL+x -KRJle/jGEX3ox59hiHlwzqZrWszO2nI+kNOWcFbzcReJEfnpj3HW3TeC1y0SL97d -8b79i63u/Fk7Y9IpWIsNgU+h8PinqP+wCeciN0DfbdmVQrNPeNGLl2lAGHP+qstr -tOdXxJxJG5qyi9F6Upaza8J1QGxpPJaa3v9LwcUQdV/hVefDRXntsvPdRMEFwUpo -zKiV1IOTh6Tvp/3bJnS+BHBWdOdcLMSjE3v51Igs3BSf5OXeMxYyMfSCOsfPItYH -aWfDESp6Yp9LkhXp9ED4vltVtLr9ZRx7QVm9ejhTtwLCjqdwhFPPKS4xZKNx8LbH -9UpjJegVddYbLuRbOA1AgvFxs/DlQcD8dLytFPgyNQncsmuLa2jW9bqpKH97ShQM -XeneAkZ8MbexV4sq16Rzza+YM4btHyau54zbOf8tToODzHGeo008JDnNUnLIav7S -UrD0VSfSEapSwkfxfKWJxirDJwVFSWaUzyiYQcyodkgL+qvu/FIEd+ez806mr/1+ -zTr66P8iKIJgx9N+tL9AmLC3fQzbtxtobaehvQIDAQABo4HRMIHOMAkGA1UdEwQC -MAAwEQYJYIZIAYb4QgEBBAQDAgWgMDUGCWCGSAGG+EIBDQQoFiZGaXJzdGJyaWRn -ZSBPcGVuU1NMIENsaWVudCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU+79lra4ptoen -wQ1yJ79rNrrviCYwHwYDVR0jBBgwFoAUSxXHUsfikHvFOWqlbMq4iLL8yS0wDgYD -VR0PAQH/BAQDAgXgMCcGA1UdJQQgMB4GCCsGAQUFBwMCBggrBgEFBQcDBAYIKwYB -BQUHAwMwDQYJKoZIhvcNAQELBQADggIBACnXYSrj0UjF9Nc6aq6l6lfiwqeef/ck -l9Dp3uKGKVe0YUydO5XERWIV8+6QrwLr5Kk4WOVK28jDCaQurl4/+3xC6ZcY0839 -2jZXWIkhuWI0frq0lQTP/puNxKxAzA/a9XGFXVomBc2C/NmPGjOdbJZ3Ia9ozr6g -ssOr8CDne0UrBOKmMPj4Wd9M5lP9wwIaGemxfs79G0MyjhsgSUnsVm9NdNfnX3qc -C8Can1GuHUetUaLZkXCzN4j5etMnvMRDZ2OCVLEy1H7Ou9L8JT5rHo1O/WQGdy80 -3tIakvjGAYikKZsoU+dcf1tJ3JARVuyuKnB89XV1Q7igAFD7Xr4+TMFUGnQf9/+c -dMoaAZq5YCWjpOGiebrhCSIcVRwlLbxdtMPRL9G9hVe5yn2FHQysDkAQ8O5jj7tR -j9+PvcjG9uarlOiWmMy+ZYKwnHKAUxqOk4w9aZFIURt53m589IhZB3q7oMueD9nF -aEpfqyfJz8/zKARS0eKqqrv78rAetf8zFfef6pV3IECtDGc9axvdTMvOvsGwjobv -AM0g2T6XyVM6pN4bDrxmkS6cy4inhYOe3gXverDDjpaMozYcHV1xUkC/AtVVUWRR -ueaa5vMWC4xhsTBZJ8XqSIan75aCleisSzaGS8OHP4+kuoJKi06My+AGRsq09w0S -6CMfM1dq0jkH ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn3/certs/1_2.crt b/apl-conf/src/main/resources/conf-tn3/certs/1_2.crt deleted file mode 100644 index e22655774a..0000000000 --- a/apl-conf/src/main/resources/conf-tn3/certs/1_2.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGdzCCBF+gAwIBAgICECgwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDQwNFoX -DTIyMDUxMzE2NDQwNFowgZwxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLaWV2MQ0w -CwYDVQQHDARLaWV2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTHRkMQswCQYDVQQL -DAJRQTEYMBYGA1UEAwwPTWFrc2ltIEtoYWJlbmtvMS0wKwYJKoZIhvcNAQkBFh5t -YWtzaW0ua2hhYmVua29AZmlyc3RicmlkZ2UuaW8wggIiMA0GCSqGSIb3DQEBAQUA -A4ICDwAwggIKAoICAQDHfLDK95NWKHN9Dtx1NC3seXnZHXWlnuRLzGUxhNV/m221 -4JqRR0GZ354cPOVMYrdkbu+g+XgGwqB3JEHNfnbW7JPMF03SumjpMgCGpFQodZUR -F2HMNVijMTgbD1AWMbPK6M6Iph8M2Y9XtF/jWE/+8R5knuAeumJVk9plvkHg8W04 -rZtMMoX33j4x4s7ZuuwoTVtL0tbccXzGInyk64mkUmOltk/Yh97T4AHyPIDZo/ux -Ns5Iq/L5bE9P7Nmh0glQGYig4f/3C0vK+FuubZRKphHLgczdJlBfMAQ+40IxBWJK -TnbjIHLloWq0f7j5SH9kfHUGxLR+p11dUTrBRpUFOGeWl3lQMicp43nrD7YocOxe -fZO02Z4mP7n1RLfA3CRFpB3aFLjbyvCa+OBD7yHUEA27H1YTX9xhxEgYjFrZDvSv -5jGth5U/Qvn5Trwe5rDS5QNnUsk4klPqZRYypLCtoGSct7OXYFP1p65KFES731Gj -8E6LTho/lGwibPomgwEeQRh5GwCPWoMLaN1zCQ9MAYZz1hevPRDFd970gmjAue4g -BICEAqQ06b3h1Wh5OgSdizmRcQJQGBW1L6h+dx5Fw09anWrmunRgG7ieXJoab9Tl -wjfMjjVUhuXx2fAP3vakqOU5Ak7HqtYTQawrj8Kp7XA04Hzg1OM/pzEvOwixvQID -AQABo4HRMIHOMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgWgMDUGCWCGSAGG -+EIBDQQoFiZGaXJzdGJyaWRnZSBPcGVuU1NMIENsaWVudCBDZXJ0aWZpY2F0ZTAd -BgNVHQ4EFgQU1TQGa9VBjCEC2IwqK2MgnKyKEIMwHwYDVR0jBBgwFoAUSxXHUsfi -kHvFOWqlbMq4iLL8yS0wDgYDVR0PAQH/BAQDAgXgMCcGA1UdJQQgMB4GCCsGAQUF -BwMCBggrBgEFBQcDBAYIKwYBBQUHAwMwDQYJKoZIhvcNAQELBQADggIBADl4Vi4B -2iM1V6RlPuNv0fy2sMxpoob+GcNsEdTFh1u+awVfwo0wWkU6YZYk7xhwE4nRMrgD -WwCUIbUd6FSYaZ5Zr2tlj8LIj9MwKm2txJewLb7Nx93t6NAag/o0gcy0hPCdEGdz -DPFts65plZgnxjwByTJXgU2lW/AvaNX3IySxhHY6eH1WY2wcN8VFZTXJHzqtpIPU -8wIi7rfk6H65m1YumjCTXbDydTCUCXYOzJxpQwaouI7jJFVoAPtVDBg7kQSP8iHD -7hzdA60oXlO54o/DSiCy6rFpruMVh7OUwoPTlGEbrvWn6Ex8FHfe3/P876/GOOI1 -r9JpXt+9R8H0NdzfAsjLylWVSpS+faEwKTNEoYjNWaJA7ScZOyyDdzBCHgoqLQvG -ke8DpxdHMrkNX3PS6fUq7b1MF2oGZY+y6Rslqe7KK/RUHNsW3I2ElxGomn8jtMo+ -2TbabG3e4DHXc0Z9DAcgtVWKAJ/0Bf5wcvrJ10TBYXtBTJ+n+AKLD8OjMlpj/zrY -fj/ki58CV0Xe+ou9wmVAb12o6Obtot8RI/YYP0jYoOl0XSf7PE0uWHxWxqoq+KwR -YDAsVujG2KKWBcvXDxwkcd3XCfhuc94ecrBskI3x8Vs/x9qArq75uATthffw4Jit -vBdOc4srytIdREo35LjC3xam5CHsTYgfRn9m ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn3/certs/1_3.crt b/apl-conf/src/main/resources/conf-tn3/certs/1_3.crt deleted file mode 100644 index 28b898c496..0000000000 --- a/apl-conf/src/main/resources/conf-tn3/certs/1_3.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGYzCCBEugAwIBAgICEB4wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTE5MTEyODE0MzExOFoX -DTIwMTIxMjE0MzExOFowgYgxCzAJBgNVBAYTAlVBMQswCQYDVQQIDAJDTjELMAkG -A1UEBwwCQ04xFzAVBgNVBAoMDkZpcnN0QnJpZGdlLmlvMRkwFwYDVQQDDBBhcG9s -bG93YWxsZXQub3JnMSswKQYJKoZIhvcNAQkBFhxvbGVrc2l5Lmx1a2luQGZyaXN0 -YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4Pj571wN -HXIngO8mEp/znveFKwbyWD+t8MQSqEXFFDOCEFuzDVj/leaN7cRW+PiR2gQmO9MB -EFIg8UHV82WE5jomjI/oi2PGgdVXjkOvFyF9hIXtKV4j+V/AVXm8lswOjkdV0BuR -cx37u/dQHTanRqIOqQ+hAiBRR4aY63V3MGeK+K8ypxEOoMsC2t3HPWECrlhh5xir -M5FZX+BpnvhUwTEnJsEdugiQUBg5joCUnvGvxiPq/5aDYP/dkQmEued+Lvy3WgkI -H6gnJHS5QiMR5YfbPkUAXWnEXQ62BxWdyqI0oTZ7uHzJhmkrF+aRTFzEJZZIualK -xLDT7qeO8Cd8ifrMHdVZ4fMcnlDwarGA4jgZ5N3gmRNG4WI6ESMCnZct8DkXF8Sg -eQnh1TuTY8elV4/2X33cFtpe7YfyMXxoyqohesqANjihdDEZ3O7OGK1CxBjIxkvr -GETsPJWlkPy2gIcrAhCvwcCt3fdl+l/QXv+TdyP2JZrYyfs/T5uMI+ypHu98fZWI -3oRgD0/sOEWr0dOlJKEiE6TL+dMe8IqR9r4RoQRJS2sOo7Sy47MRXhDQM7E3aHDV -EvkxMpoC6IxHD6Xs6xWBZ8utwwwV9zoaX1oRl3/hT22zvlWoZnjqGfcR7WFJiDAD -RZQFLg3z3fFHg2+Qz/rrbsEIPhLp4vCrEF8CAwEAAaOB0TCBzjAJBgNVHRMEAjAA -MBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgBhvhCAQ0EKBYmRmlyc3RicmlkZ2Ug -T3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFEP41g/42ArtYyuV -t6lhQ30vvNBMMB8GA1UdIwQYMBaAFEsVx1LH4pB7xTlqpWzKuIiy/MktMA4GA1Ud -DwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEFBQcDAgYIKwYBBQUHAwQGCCsGAQUF -BwMDMA0GCSqGSIb3DQEBCwUAA4ICAQA3QRcWoNlBYycRnp9hD5snVSn0DqkTHMg6 -6dG3g+07jwbjPQjvI67ylhxRt3cfwtpd3oUBCARu2HxDMsMTSa/xwLfE9u8m+0A6 -FsFIHSKH3dEQzhf1Ty2cIQXF+KydOOVa3kXbpBMshfzAUwAemL/4dbgmBnsTuT2D -Qq4+mO75OHxbvPVqkvVH/EcVleQd0GArO0EeBoxrm2P4ArVLTHUoIbSE+ihacWRL -JEhr1B5365mDRlOhIQa8b3DVohz0YlHUPCq5hecdSHbN/JpkhpFqvNMdTphmhyMR -KZ5f6cVpOwVw5CwGHRUxcfBfVYu93GJqAYizlNIXn5Bz46MDv1xKJZ1hohok2r/T -zaoD7i0mhm2TJn6Do0xPu13XLuGR9cR+87njSK57S5RzGKJsjHoqAFmkIvhFCMzV -kGkcX3sp6k4WWP23Ym7JZBvp4WjCg68d8m1zVrt2u4duI9JiAEZc6lnfxPVc0Mm1 -159HDXom3lQhpavTPWWY8U1kMrpVAOOPk06D6dr5MEEBPBTnmVitr5iDbg5J9bjP -IEge5MMbFls6FTLVsWdTb06rLLrkJ59zmpg18VgKWaCn4HzOBw4qpZyRw50Wf3WQ -wglD8D6SQqjPVNJyoxLNelBD0hYFcNo0Kgo5+3r5N7kumYZlkatPsYpYt3CjTAcI -/3PsdjVyyA== ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn3/certs/1_4.crt b/apl-conf/src/main/resources/conf-tn3/certs/1_4.crt deleted file mode 100644 index 1ac7907588..0000000000 --- a/apl-conf/src/main/resources/conf-tn3/certs/1_4.crt +++ /dev/null @@ -1,38 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGkTCCBHmgAwIBAgICECkwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDQxNloX -DTIyMDUxMzE2NDQxNlowgbYxCzAJBgNVBAYTAlVBMRkwFwYDVQQIDBBJdmFuby1G -cmFua2l2c2thMRgwFgYDVQQHDA9JdmFuby1GcmFua2l2c2sxGTAXBgNVBAoMEEZp -cnN0QnJpZGdlIEx0ZC4xHzAdBgNVBAsMFkJsb2NrY2hhaW4gRGV2ZWxvcG1lbnQx -GDAWBgNVBAMMD1Jvc3R5c2xhdiBHb2xkYTEcMBoGCSqGSIb3DQEJARYNdHhfaHZA -dWtyLm5ldDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAND5kGVyK4J2 -ozPOfNLVqm12PGXVp+tT1FFwG9UZ6Glosh01l1azYfNTDuJt+zFKbpgzZLYcZhks -oEcJlQK6/TiYlwvCkf7xHc/5sC0BHCPpJGcesVloanerP+Qg2Rhp3BvIu2kW1v6E -KiAiEKbAaefvIiufhGtnb7c5JpOhjrJW9CcJMCQESVNrKbMqT2E5u08nvWrVPoBm -3tu7MvVOdESV42qKWr4l58PL02JUJYoE6zFx54b4u7q/CXjkUvFR5i98JMhFmuEI -Q7FPJyb0IsspiPQI0t5tfNQwPtrI1004AgG08Qies9MP5ucfXuGY1y7G+CbD6785 -6RzIwXvFsVCAiKXGVOxvpy7si1o4feV2S7+re9aTQj11MEQYDWNYXVN+4vJwL9qX -qcqG9o01XMbLjVHq7AiBz13JoYenQPln7pbaQ5xLHBmgSzP6EJGQblZz23vq34Fd -9gokTCVSVWEYD/Dsly22Pi254NAhp+aXLVH4PdPD04RVzVnu2Xu+OkQBLYxa2/mH -NYfgaMrwBgKO9JHIqHb6c5JfFrXxkEhiKwX9/20EWpEu1E/XM61a9i7ZF2BaH39p -Fn8gWoL6q3cC0tAPTlOYu3J0ycpdIQm5UQecoBfyEiCH0M2+Zvhzt4lf04xloT/V -YFQ0Yf7kF+fxPRW33rIr2wwsEbwTyAN5AgMBAAGjgdEwgc4wCQYDVR0TBAIwADAR -BglghkgBhvhCAQEEBAMCBaAwNQYJYIZIAYb4QgENBCgWJkZpcnN0YnJpZGdlIE9w -ZW5TU0wgQ2xpZW50IENlcnRpZmljYXRlMB0GA1UdDgQWBBS5nIUCDZlHhOq1tDYX -IXRbPTs/bjAfBgNVHSMEGDAWgBRLFcdSx+KQe8U5aqVsyriIsvzJLTAOBgNVHQ8B -Af8EBAMCBeAwJwYDVR0lBCAwHgYIKwYBBQUHAwIGCCsGAQUFBwMEBggrBgEFBQcD -AzANBgkqhkiG9w0BAQsFAAOCAgEAqIAsBuaO/1+TLWN5RkUy1zh4haslSwe08R7D -54MnQl3DcpcpaDa045PVJkec06p5Z9RxuzzyYBmPH5SoQ/PPiGTq3La4HBvPMDtH -BsyRdwxZHRf70inCKRGHTAKupL+duyx0AwsF5V0n2xF5QkGZLoxhOULY0rcVfiGM -IwfnCFBZWRuN9MOS8PopgyjjT9uXLlaARz26SIwPPKpxQunwykN1QUDrmapzSDz2 -PeTRwsOPuYuXN/XOUq8DUE4qVoUO8cr64aXzWy5UDOPZLs9zxdO+yqyy6Vex9Qsv -uch3mNgoXeu/gxTJ+euCy/n6RtiZe3z06wth/1+5kav5kmDduwpsepk05ql7BnCi -y/Ke9KbIOnjnMUjl1xXbo2rG7XVj7IpucP3LRT4rLB0VAxWVjype97WC7u6e2vry -TRv5VYHyzELD8hZz84ajUQ6NaGH6DfwtOwEX0Gxj/FuNiX3TrhcHdw4uVo4UypyQ -d1GZt8RpOy09jjZu5PNxnlBDkw5Bi8FaDVg9PM3Gq3I/ZT5dG6Zu5104iv2CgkdD -QJc4PhPsq4rPOLtWmrJ/J2AqBD9vfxjoMiAjLlzvyj6BIiJdMFnLi8qQBQw+G7bW -k5hPJtW40OX0IIYd/jiKcTHB+0oBlBvI450DmuryH1m1ikMEqPB99YPGtef8m3WS -EXVXy1c= ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn3/certs/2_1.crt b/apl-conf/src/main/resources/conf-tn3/certs/2_1.crt deleted file mode 100644 index 7613ffec3a..0000000000 --- a/apl-conf/src/main/resources/conf-tn3/certs/2_1.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGeDCCBGCgAwIBAgICEC0wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTEyNDEzMDMwNFoX -DTIyMDUxODEzMDMwNFowgZ0xCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ0w -CwYDVQQHDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTFREMQwwCgYDVQQL -DANDT08xHTAbBgNVBAMMFEdlb3JnZSBEemh5bmNoYXJhZHplMSgwJgYJKoZIhvcN -AQkBFhlnZW9yZ2UuY29vQGZpcnN0YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA75aMnpLfIWAuzX50072OR9Y5BxowLXggUE2wvTrUFwAo -1q8GETXK80xdhfZtMCkGlMvk8ldA3c+RPTXJIvjoDTGZOTERGOLxB32kSn74fPtu -yRUqktGMBI7JQM6My27owJtApIif2Xn7q8Qo8YguBmbzOEblO0FYVkd9IopePtvt -r/GvJStY0lNIQpXQEzdrK+QBIeXlBG1OiTswC2BU8MAc1SeZcF4fiLnPxT0m9KLF -60iIJ0WFBAmNYP8sQEnsEJRPzPm+rQhv1cAUzNPya9ZOubVqcHclKuzLfd7HOaJh -I7VPBjnd4FFMUzz3fk7jvT8uwvN5JeaU1V3g22bX/EZWmGchSJpFVCuxGdqj3TVn -eSh+D3WodzTobXC8oXxrGL6kDDRjYnLA74XngAFsDuT7yGpQoKQ1K3TL6Hkhwk+a -UMHJ3zi4ccOCNaC6TosJu9eNgXG1+SIBbKmBR59ltd6aLVlTk99nWBN3HsOs/Pnu -UITo36PdwouBTcKV6zQz1TezUsbYdQVfLQs/zvo88SmpNAuG7gcVXMCdd7TSGuk5 -Ac9xihO9hS8mmZouBymkuaugcji54vv4yBYoDXh2km9Ls/Ypcb5r/4jIh4DJFfs1 -5yqzq35smIl5cewVn9KEaETBetZ3Z5MdY8hMuZWPgPhqVVDRqOsnjpk5JmI2AQ8C -AwEAAaOB0TCBzjAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgB -hvhCAQ0EKBYmRmlyc3RicmlkZ2UgT3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUw -HQYDVR0OBBYEFIz6a4Hb4whZiQf2JYpAERgk6P8yMB8GA1UdIwQYMBaAFEsVx1LH -4pB7xTlqpWzKuIiy/MktMA4GA1UdDwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEF -BQcDAgYIKwYBBQUHAwQGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4ICAQAZZBJM -hw6dFMI3b9BCE3i49B2uxjRqtFRpNtOZoPgjVJzWvY+lwpJOXFVShQG67rt53xMM -SLcZvejQGJlQLLWJ0/BKDaeWpsrsoWfp9uNsy0xyhfeLxvsmQjdCDBLUC1/6Trhe -zVbSsQ7556wAHdPFS4x4BvssjdRPVmqckwT5GE5E2ATXYEuNHWDWktlFcCnaoc/P -lOSDQ3qkkVF8sFJnW0nH4nbQQHvyb0gzL+/MexIr3mqm93bXZJN/xbJ7jAgTPLwe -TWU5iCmdJPRxKOhuq6PUP3tJJs1ImT/1+6Hj+VENpOvwV2aeES9ahVCUYZwg4MgF -GTfNribVhpbzTrCALdGH7CBnXkAHYUP++Kr5+C9jXgfhesOGZCLlp1TAw0jrhNyf -bcCpRi24Vgca7b4G9nCxH7agbUo/BU31DEzlQ4K4PTh63NTAsJ4piXwSIFotaRNR -K5N84EN0D/EXlPFUafg5jC19S0RyoHw6SJ7zw5xhj/gxmo+ZLM4oLqJfT3ZX91/V -nNwc4O/cyoICooMMWnCfw6D8nqeWRNKzzN5MCjWL9ewmfm4L4VMKmzWzqKIGAuxK -Q33T/+YgeVsQFQEDy9+aD1rc7X8NHIY+VCEn7ZN3KbaZZ4XnZltn8NbsGLNSbda7 -XxD83EHKwf4mORRn5aX+/5biKe0/xCpfULYnvA== ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn3/certs/2_2.crt b/apl-conf/src/main/resources/conf-tn3/certs/2_2.crt deleted file mode 100644 index 324f7fb970..0000000000 --- a/apl-conf/src/main/resources/conf-tn3/certs/2_2.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -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 -XXpr1M5IhZt0X6sHYkasdl3m/b8= ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn3/certs/2_3.crt b/apl-conf/src/main/resources/conf-tn3/certs/2_3.crt deleted file mode 100644 index 5806a784a6..0000000000 --- a/apl-conf/src/main/resources/conf-tn3/certs/2_3.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGdTCCBF2gAwIBAgICECswDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NTgzOFoX -DTIyMDUxMzE2NTgzOFowgZoxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQsw -CQYDVQQHDAJCQzEUMBIGA1UECgwLRmlyc3RCcmlkZ2UxDjAMBgNVBAsMBURldmVs -MRkwFwYDVQQDDBBTdmlhdG9zbGF2IEdvbGRhMS4wLAYJKoZIhvcNAQkBFh9zdmlh -dG9zbGF2LmdvbGRhQGZpcnN0YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEFAAOC -Ag8AMIICCgKCAgEA2C813+Igz41/ihwSICa0z3HlYhRbRLyByRcKIFp6T/gvs+Mj -+fXrtp8Oodg64mekFW0bgehpqxyYYXkKIz3ObrkK7IUe6CjsctgIY4vdJ+tdK3OD -XCztQNCGtFfqV3/vLv47bq0lmTM342ekWR6NnUiMplIFFdb5VzjJmFQMLZRA6bYn -DQ4+6ml/RtypvVlhc0ey3bwKTMkpJoKylw6LXx6XMks+Y0Eyk/07bQKINOVq+lxS -4MgHsHTdLzd4v9lFldCNMKaMmx99uENDe4PuUVYAuagoQ/52sKEvXpoZJPtNOs9V -YaPfSnrfEyVHJ+M2Fr1ShNW0+v6WDzxjyLufd1514LnKIkXgALVYJnAjL3dxGdKf -Zk8LcNkDEDASceK2XXQTA6Yds86T+td2dKIsI/yGBSpp7mp5qvOsprIdx0nK6bbp -v+e1BZLdtgE0ZPjy0WAkqqZIt4W7MARmkjX8x5R5o0AGBstrDIQpLpHzGomQWVt4 -wEFC3M4Bu1Det//ODCbdXrVXWRirYUo4h4cYywGTQsEIV9yhAIOYntdSVSgRx9aI -+YNi30UVzBaCQFr2fNugk0YvKLr7lZ33tLj9gQBtTZjwo6/YcDj715VtY74IJTyg -mMbTE5N6qBrklO1dEiO3bHoiJeuiQLcfW0uIIaVlCNtSDXxQCqOBo0UX1BsCAwEA -AaOB0TCBzjAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgBhvhC -AQ0EKBYmRmlyc3RicmlkZ2UgT3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUwHQYD -VR0OBBYEFNIHdAVizPNxy3KvQgALrCXMCT0bMB8GA1UdIwQYMBaAFEsVx1LH4pB7 -xTlqpWzKuIiy/MktMA4GA1UdDwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEFBQcD -AgYIKwYBBQUHAwQGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4ICAQA6Ssrhwly9 -M63egy/8M6FqPTxbxKb+0QSOI6MD0IExAUPK7VsAJinT9BkV1y0kZQyJ6AIihcf/ -z3p5vkrrlhTmEDquGV5DjSbAKZUA0GlWESMfl6bdDHy2Mgea5QFb5INIjFlg/KXs -i/IMTOOL9NEDW/J4O/JXkrVpMmpvxXzxQPyfP/XqukykZaiJ4AiVhtKtTSJj0VWp -JYDlEQN27c4s91JUzC5Gx3oQABGjEfFsdMVZ6CKlHU7nnpX16VQW5kiInPCvetSM -7ai6J785x9CUQD+yo6nglVqf8I/C+omVbZsOEdCYmKigOfAFtpSJmzDo6IfEsVzg -hrSuuR9k8OIAeMgKB/Uk2R1vpg3ME+B0NfVMeYHcpnbtgw7ZkHA2ZfTQe7eT1Z2Q -2pBLQdCWN73FQ1AQuJ/YqddmHQzZbvGlX6sBBsm+hWeAWxwP+ivEYXGyApYcjaMG -JQC2zeBaas9xQfzKJVkwDyqe5B1xWypJNf0gavlbc/WXq/IVZZqyHVIYlRf9CAFz -U81XtQtbe8RLZ9yxWTh+1vI/nKHcFRKKH2hGQNhIr1XyZe3HTktQyzgM2VmvybV+ -nBc0q5wGR/w/15XDxKfcLdVbp9ISVJ7+DR4HjZHepLIuR/SBCqagBh1jfR6RJraQ -zwNUEFI6YENbZxyA1Onbw5tIfpKfAC7m9g== ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn3/certs/intermediate.crt b/apl-conf/src/main/resources/conf-tn3/certs/intermediate.crt deleted file mode 100644 index 5d0832b4bd..0000000000 --- a/apl-conf/src/main/resources/conf-tn3/certs/intermediate.crt +++ /dev/null @@ -1,35 +0,0 @@ ------BEGIN CERTIFICATE----- -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 -loQcZYg/Dw== ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf-tn3/certs/rootCA.crt b/apl-conf/src/main/resources/conf-tn3/certs/rootCA.crt deleted file mode 100644 index dbe28ae482..0000000000 --- a/apl-conf/src/main/resources/conf-tn3/certs/rootCA.crt +++ /dev/null @@ -1,35 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGEDCCA/igAwIBAgIJAKcFbXmIl10mMA0GCSqGSIb3DQEBCwUAMIGUMQswCQYD -VQQGEwJVQTENMAsGA1UECAwES3lpdjEOMAwGA1UEBwwFUG9kaWwxFDASBgNVBAoM -C0ZpcnN0QnJpZGdlMQ8wDQYDVQQLDAZEZXZPcHMxGzAZBgNVBAMMEnd3dy5maXJz -dGJyaWRnZS5pbzEiMCAGCSqGSIb3DQEJARYTcm9vdEBmaXJzdGJyaWRnZS5pbzAe -Fw0xODA2MTIwNjQzNTNaFw0zODA2MDcwNjQzNTNaMIGUMQswCQYDVQQGEwJVQTEN -MAsGA1UECAwES3lpdjEOMAwGA1UEBwwFUG9kaWwxFDASBgNVBAoMC0ZpcnN0QnJp -ZGdlMQ8wDQYDVQQLDAZEZXZPcHMxGzAZBgNVBAMMEnd3dy5maXJzdGJyaWRnZS5p -bzEiMCAGCSqGSIb3DQEJARYTcm9vdEBmaXJzdGJyaWRnZS5pbzCCAiIwDQYJKoZI -hvcNAQEBBQADggIPADCCAgoCggIBAK0Owbv0qmLsUzLrfcOGObNBXSVNplD33+is -H1sjV3lAjHIWIywwLZMXcCUM8WWV32UocVnb4FPO2d76IWCviZAl54atRlDfL2rv -H+hYUCSXV60B0+1uDcSPr4+tq3yDgChvl73OtQDNa48UV9x+jPmUV3LGOrN/oqbU -8yNt7m8//gKcwQSxjWe6+VT+ZIVVlbVeUG4M+qWPaQMZsQZIElPjeaF9mz/dFImz -MwBFmCA7k03KaX0Qn7XKHrkhp52a+oa0sHk2F2B58NaQPwdUwUF9D6kB2PjD+Ev5 -RfF8gNdqTmY2Ufwiy0vCMB3micEJ0nDHK9/u7EnsGspHExvYQ4/x/hVktL29WWwv -OHqUd5cmsILGS4FuyQZ/jmZtw8AAhNhyImhLwFv0/iqvOby/lhmKBeSEYA8O1WCr -6by4+HiEzXmZ4MRokq/QxZKJ2WskTs8RL+FuzgtG7wvGkzRKmz5G4u+DzPsZs7ig -WV9K9CHsl5HCAn2FSCidRnmPen7592THzl7W/7dT9kmmA19dVtIqV86NUlB/5lf9 -i6oBeHXzBnreAtKuLB7XiNA1tCqo1dYPN3wNQEcqracbmM/RHK/BBfxAJvofgLLb -SN4gKj4mfprhT0V9tOFoWBZ1haFzQD6Oom3KcA0kjX3GESmld6mvxHLeKxTFvpoq -JgwiGxHvAgMBAAGjYzBhMB0GA1UdDgQWBBQC945QrkpuLT0cb9kkR+WXQXzKdzAf -BgNVHSMEGDAWgBQC945QrkpuLT0cb9kkR+WXQXzKdzAPBgNVHRMBAf8EBTADAQH/ -MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAaozG0E1WLt2MpAx4 -8c85BnYU2tNND+1ZU8SPYqHSOE3ZrpWnZwbOKiJGZ2jT33Sr/MLjabR9XQWZK4H3 -X2LasuIb6il/aPiJ/7sl3VLnu03wDa7YraRdpPL0B7M/zmKb2VjnsnrkRw1GHuKO -KnA6f3EhwCnUfARD0GSGKBvS+Rl+qhfhqXAN/Lpr4sCZnvaxfADwCulsh0ZsrIcw -YIZtOVkvZvI87q0txbC4K+TF5yfhKDdD0zuCnvQSEuNsLDsPx/S1GhhG4mXtJyDY -GGB9e1zh7GMRhloBkLgMd0g2FJf4EEK6dcHDHLul3HSyIsikr0f8gaOIoFFPD8bj -wno7npDSFkkY8zwTkx+a0y87CQSnj5Ko6st3ohZLO6g/KijH00cn8WEgxEdiG7Vw -Y4WgezCmLCjVFnLS4VRnwZW32iPZjWkwF6/FImSuiAIgZfT9q5n6dCLwHHUxPu7Q -V3FEA5mgJWZba/fPscfoa163pPoPaxZALBTLXdgVEv1KQUELtrwOGm5s796kj7VX -gxlj4TBMtURXKcuns7QAEKJDeKhnv8R5Oh3j5MkYRvTcyE+RfW5ewJRtiI2lv1ds -pOW3zIgJWY2I9HVHUDXmbskPMJjcPZpv1M6Me3id4bAWDP3I1SHu0mzqE5qXy5/l -5YyJ/mouRe1kokM1lAYIrb6HsLQ= ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf/certs/1_1.crt b/apl-conf/src/main/resources/conf/certs/1_1.crt deleted file mode 100644 index 11e4a2c18e..0000000000 --- a/apl-conf/src/main/resources/conf/certs/1_1.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGZTCCBE2gAwIBAgICECcwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDMzNFoX -DTIyMDUxMzE2NDMzNFowgYoxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ0w -CwYDVQQHDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTExDMRgwFgYDVQQD -DA9BbmRyZXcgQm95YXJza3kxKDAmBgkqhkiG9w0BCQEWGWFuZHJldy5ib3lhcnNr -aUBnbWFpbC5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCV0/1a -bFOaNOLWU5NqRhV4Fn0kY5lLZ9WWvktLfv6ayBoIV4z95msGdAac2YhDdRC9bE7i -sPiz181qknwmUBq1js1wJotEhXuLf2CI5l8t3ENjEzQS7NJKFmusai6yKdFloL+x -KRJle/jGEX3ox59hiHlwzqZrWszO2nI+kNOWcFbzcReJEfnpj3HW3TeC1y0SL97d -8b79i63u/Fk7Y9IpWIsNgU+h8PinqP+wCeciN0DfbdmVQrNPeNGLl2lAGHP+qstr -tOdXxJxJG5qyi9F6Upaza8J1QGxpPJaa3v9LwcUQdV/hVefDRXntsvPdRMEFwUpo -zKiV1IOTh6Tvp/3bJnS+BHBWdOdcLMSjE3v51Igs3BSf5OXeMxYyMfSCOsfPItYH -aWfDESp6Yp9LkhXp9ED4vltVtLr9ZRx7QVm9ejhTtwLCjqdwhFPPKS4xZKNx8LbH -9UpjJegVddYbLuRbOA1AgvFxs/DlQcD8dLytFPgyNQncsmuLa2jW9bqpKH97ShQM -XeneAkZ8MbexV4sq16Rzza+YM4btHyau54zbOf8tToODzHGeo008JDnNUnLIav7S -UrD0VSfSEapSwkfxfKWJxirDJwVFSWaUzyiYQcyodkgL+qvu/FIEd+ez806mr/1+ -zTr66P8iKIJgx9N+tL9AmLC3fQzbtxtobaehvQIDAQABo4HRMIHOMAkGA1UdEwQC -MAAwEQYJYIZIAYb4QgEBBAQDAgWgMDUGCWCGSAGG+EIBDQQoFiZGaXJzdGJyaWRn -ZSBPcGVuU1NMIENsaWVudCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU+79lra4ptoen -wQ1yJ79rNrrviCYwHwYDVR0jBBgwFoAUSxXHUsfikHvFOWqlbMq4iLL8yS0wDgYD -VR0PAQH/BAQDAgXgMCcGA1UdJQQgMB4GCCsGAQUFBwMCBggrBgEFBQcDBAYIKwYB -BQUHAwMwDQYJKoZIhvcNAQELBQADggIBACnXYSrj0UjF9Nc6aq6l6lfiwqeef/ck -l9Dp3uKGKVe0YUydO5XERWIV8+6QrwLr5Kk4WOVK28jDCaQurl4/+3xC6ZcY0839 -2jZXWIkhuWI0frq0lQTP/puNxKxAzA/a9XGFXVomBc2C/NmPGjOdbJZ3Ia9ozr6g -ssOr8CDne0UrBOKmMPj4Wd9M5lP9wwIaGemxfs79G0MyjhsgSUnsVm9NdNfnX3qc -C8Can1GuHUetUaLZkXCzN4j5etMnvMRDZ2OCVLEy1H7Ou9L8JT5rHo1O/WQGdy80 -3tIakvjGAYikKZsoU+dcf1tJ3JARVuyuKnB89XV1Q7igAFD7Xr4+TMFUGnQf9/+c -dMoaAZq5YCWjpOGiebrhCSIcVRwlLbxdtMPRL9G9hVe5yn2FHQysDkAQ8O5jj7tR -j9+PvcjG9uarlOiWmMy+ZYKwnHKAUxqOk4w9aZFIURt53m589IhZB3q7oMueD9nF -aEpfqyfJz8/zKARS0eKqqrv78rAetf8zFfef6pV3IECtDGc9axvdTMvOvsGwjobv -AM0g2T6XyVM6pN4bDrxmkS6cy4inhYOe3gXverDDjpaMozYcHV1xUkC/AtVVUWRR -ueaa5vMWC4xhsTBZJ8XqSIan75aCleisSzaGS8OHP4+kuoJKi06My+AGRsq09w0S -6CMfM1dq0jkH ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf/certs/1_2.crt b/apl-conf/src/main/resources/conf/certs/1_2.crt deleted file mode 100644 index e22655774a..0000000000 --- a/apl-conf/src/main/resources/conf/certs/1_2.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGdzCCBF+gAwIBAgICECgwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDQwNFoX -DTIyMDUxMzE2NDQwNFowgZwxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLaWV2MQ0w -CwYDVQQHDARLaWV2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTHRkMQswCQYDVQQL -DAJRQTEYMBYGA1UEAwwPTWFrc2ltIEtoYWJlbmtvMS0wKwYJKoZIhvcNAQkBFh5t -YWtzaW0ua2hhYmVua29AZmlyc3RicmlkZ2UuaW8wggIiMA0GCSqGSIb3DQEBAQUA -A4ICDwAwggIKAoICAQDHfLDK95NWKHN9Dtx1NC3seXnZHXWlnuRLzGUxhNV/m221 -4JqRR0GZ354cPOVMYrdkbu+g+XgGwqB3JEHNfnbW7JPMF03SumjpMgCGpFQodZUR -F2HMNVijMTgbD1AWMbPK6M6Iph8M2Y9XtF/jWE/+8R5knuAeumJVk9plvkHg8W04 -rZtMMoX33j4x4s7ZuuwoTVtL0tbccXzGInyk64mkUmOltk/Yh97T4AHyPIDZo/ux -Ns5Iq/L5bE9P7Nmh0glQGYig4f/3C0vK+FuubZRKphHLgczdJlBfMAQ+40IxBWJK -TnbjIHLloWq0f7j5SH9kfHUGxLR+p11dUTrBRpUFOGeWl3lQMicp43nrD7YocOxe -fZO02Z4mP7n1RLfA3CRFpB3aFLjbyvCa+OBD7yHUEA27H1YTX9xhxEgYjFrZDvSv -5jGth5U/Qvn5Trwe5rDS5QNnUsk4klPqZRYypLCtoGSct7OXYFP1p65KFES731Gj -8E6LTho/lGwibPomgwEeQRh5GwCPWoMLaN1zCQ9MAYZz1hevPRDFd970gmjAue4g -BICEAqQ06b3h1Wh5OgSdizmRcQJQGBW1L6h+dx5Fw09anWrmunRgG7ieXJoab9Tl -wjfMjjVUhuXx2fAP3vakqOU5Ak7HqtYTQawrj8Kp7XA04Hzg1OM/pzEvOwixvQID -AQABo4HRMIHOMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgWgMDUGCWCGSAGG -+EIBDQQoFiZGaXJzdGJyaWRnZSBPcGVuU1NMIENsaWVudCBDZXJ0aWZpY2F0ZTAd -BgNVHQ4EFgQU1TQGa9VBjCEC2IwqK2MgnKyKEIMwHwYDVR0jBBgwFoAUSxXHUsfi -kHvFOWqlbMq4iLL8yS0wDgYDVR0PAQH/BAQDAgXgMCcGA1UdJQQgMB4GCCsGAQUF -BwMCBggrBgEFBQcDBAYIKwYBBQUHAwMwDQYJKoZIhvcNAQELBQADggIBADl4Vi4B -2iM1V6RlPuNv0fy2sMxpoob+GcNsEdTFh1u+awVfwo0wWkU6YZYk7xhwE4nRMrgD -WwCUIbUd6FSYaZ5Zr2tlj8LIj9MwKm2txJewLb7Nx93t6NAag/o0gcy0hPCdEGdz -DPFts65plZgnxjwByTJXgU2lW/AvaNX3IySxhHY6eH1WY2wcN8VFZTXJHzqtpIPU -8wIi7rfk6H65m1YumjCTXbDydTCUCXYOzJxpQwaouI7jJFVoAPtVDBg7kQSP8iHD -7hzdA60oXlO54o/DSiCy6rFpruMVh7OUwoPTlGEbrvWn6Ex8FHfe3/P876/GOOI1 -r9JpXt+9R8H0NdzfAsjLylWVSpS+faEwKTNEoYjNWaJA7ScZOyyDdzBCHgoqLQvG -ke8DpxdHMrkNX3PS6fUq7b1MF2oGZY+y6Rslqe7KK/RUHNsW3I2ElxGomn8jtMo+ -2TbabG3e4DHXc0Z9DAcgtVWKAJ/0Bf5wcvrJ10TBYXtBTJ+n+AKLD8OjMlpj/zrY -fj/ki58CV0Xe+ou9wmVAb12o6Obtot8RI/YYP0jYoOl0XSf7PE0uWHxWxqoq+KwR -YDAsVujG2KKWBcvXDxwkcd3XCfhuc94ecrBskI3x8Vs/x9qArq75uATthffw4Jit -vBdOc4srytIdREo35LjC3xam5CHsTYgfRn9m ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf/certs/1_3.crt b/apl-conf/src/main/resources/conf/certs/1_3.crt deleted file mode 100644 index 28b898c496..0000000000 --- a/apl-conf/src/main/resources/conf/certs/1_3.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGYzCCBEugAwIBAgICEB4wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTE5MTEyODE0MzExOFoX -DTIwMTIxMjE0MzExOFowgYgxCzAJBgNVBAYTAlVBMQswCQYDVQQIDAJDTjELMAkG -A1UEBwwCQ04xFzAVBgNVBAoMDkZpcnN0QnJpZGdlLmlvMRkwFwYDVQQDDBBhcG9s -bG93YWxsZXQub3JnMSswKQYJKoZIhvcNAQkBFhxvbGVrc2l5Lmx1a2luQGZyaXN0 -YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4Pj571wN -HXIngO8mEp/znveFKwbyWD+t8MQSqEXFFDOCEFuzDVj/leaN7cRW+PiR2gQmO9MB -EFIg8UHV82WE5jomjI/oi2PGgdVXjkOvFyF9hIXtKV4j+V/AVXm8lswOjkdV0BuR -cx37u/dQHTanRqIOqQ+hAiBRR4aY63V3MGeK+K8ypxEOoMsC2t3HPWECrlhh5xir -M5FZX+BpnvhUwTEnJsEdugiQUBg5joCUnvGvxiPq/5aDYP/dkQmEued+Lvy3WgkI -H6gnJHS5QiMR5YfbPkUAXWnEXQ62BxWdyqI0oTZ7uHzJhmkrF+aRTFzEJZZIualK -xLDT7qeO8Cd8ifrMHdVZ4fMcnlDwarGA4jgZ5N3gmRNG4WI6ESMCnZct8DkXF8Sg -eQnh1TuTY8elV4/2X33cFtpe7YfyMXxoyqohesqANjihdDEZ3O7OGK1CxBjIxkvr -GETsPJWlkPy2gIcrAhCvwcCt3fdl+l/QXv+TdyP2JZrYyfs/T5uMI+ypHu98fZWI -3oRgD0/sOEWr0dOlJKEiE6TL+dMe8IqR9r4RoQRJS2sOo7Sy47MRXhDQM7E3aHDV -EvkxMpoC6IxHD6Xs6xWBZ8utwwwV9zoaX1oRl3/hT22zvlWoZnjqGfcR7WFJiDAD -RZQFLg3z3fFHg2+Qz/rrbsEIPhLp4vCrEF8CAwEAAaOB0TCBzjAJBgNVHRMEAjAA -MBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgBhvhCAQ0EKBYmRmlyc3RicmlkZ2Ug -T3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFEP41g/42ArtYyuV -t6lhQ30vvNBMMB8GA1UdIwQYMBaAFEsVx1LH4pB7xTlqpWzKuIiy/MktMA4GA1Ud -DwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEFBQcDAgYIKwYBBQUHAwQGCCsGAQUF -BwMDMA0GCSqGSIb3DQEBCwUAA4ICAQA3QRcWoNlBYycRnp9hD5snVSn0DqkTHMg6 -6dG3g+07jwbjPQjvI67ylhxRt3cfwtpd3oUBCARu2HxDMsMTSa/xwLfE9u8m+0A6 -FsFIHSKH3dEQzhf1Ty2cIQXF+KydOOVa3kXbpBMshfzAUwAemL/4dbgmBnsTuT2D -Qq4+mO75OHxbvPVqkvVH/EcVleQd0GArO0EeBoxrm2P4ArVLTHUoIbSE+ihacWRL -JEhr1B5365mDRlOhIQa8b3DVohz0YlHUPCq5hecdSHbN/JpkhpFqvNMdTphmhyMR -KZ5f6cVpOwVw5CwGHRUxcfBfVYu93GJqAYizlNIXn5Bz46MDv1xKJZ1hohok2r/T -zaoD7i0mhm2TJn6Do0xPu13XLuGR9cR+87njSK57S5RzGKJsjHoqAFmkIvhFCMzV -kGkcX3sp6k4WWP23Ym7JZBvp4WjCg68d8m1zVrt2u4duI9JiAEZc6lnfxPVc0Mm1 -159HDXom3lQhpavTPWWY8U1kMrpVAOOPk06D6dr5MEEBPBTnmVitr5iDbg5J9bjP -IEge5MMbFls6FTLVsWdTb06rLLrkJ59zmpg18VgKWaCn4HzOBw4qpZyRw50Wf3WQ -wglD8D6SQqjPVNJyoxLNelBD0hYFcNo0Kgo5+3r5N7kumYZlkatPsYpYt3CjTAcI -/3PsdjVyyA== ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf/certs/1_4.crt b/apl-conf/src/main/resources/conf/certs/1_4.crt deleted file mode 100644 index 1ac7907588..0000000000 --- a/apl-conf/src/main/resources/conf/certs/1_4.crt +++ /dev/null @@ -1,38 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGkTCCBHmgAwIBAgICECkwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDQxNloX -DTIyMDUxMzE2NDQxNlowgbYxCzAJBgNVBAYTAlVBMRkwFwYDVQQIDBBJdmFuby1G -cmFua2l2c2thMRgwFgYDVQQHDA9JdmFuby1GcmFua2l2c2sxGTAXBgNVBAoMEEZp -cnN0QnJpZGdlIEx0ZC4xHzAdBgNVBAsMFkJsb2NrY2hhaW4gRGV2ZWxvcG1lbnQx -GDAWBgNVBAMMD1Jvc3R5c2xhdiBHb2xkYTEcMBoGCSqGSIb3DQEJARYNdHhfaHZA -dWtyLm5ldDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAND5kGVyK4J2 -ozPOfNLVqm12PGXVp+tT1FFwG9UZ6Glosh01l1azYfNTDuJt+zFKbpgzZLYcZhks -oEcJlQK6/TiYlwvCkf7xHc/5sC0BHCPpJGcesVloanerP+Qg2Rhp3BvIu2kW1v6E -KiAiEKbAaefvIiufhGtnb7c5JpOhjrJW9CcJMCQESVNrKbMqT2E5u08nvWrVPoBm -3tu7MvVOdESV42qKWr4l58PL02JUJYoE6zFx54b4u7q/CXjkUvFR5i98JMhFmuEI -Q7FPJyb0IsspiPQI0t5tfNQwPtrI1004AgG08Qies9MP5ucfXuGY1y7G+CbD6785 -6RzIwXvFsVCAiKXGVOxvpy7si1o4feV2S7+re9aTQj11MEQYDWNYXVN+4vJwL9qX -qcqG9o01XMbLjVHq7AiBz13JoYenQPln7pbaQ5xLHBmgSzP6EJGQblZz23vq34Fd -9gokTCVSVWEYD/Dsly22Pi254NAhp+aXLVH4PdPD04RVzVnu2Xu+OkQBLYxa2/mH -NYfgaMrwBgKO9JHIqHb6c5JfFrXxkEhiKwX9/20EWpEu1E/XM61a9i7ZF2BaH39p -Fn8gWoL6q3cC0tAPTlOYu3J0ycpdIQm5UQecoBfyEiCH0M2+Zvhzt4lf04xloT/V -YFQ0Yf7kF+fxPRW33rIr2wwsEbwTyAN5AgMBAAGjgdEwgc4wCQYDVR0TBAIwADAR -BglghkgBhvhCAQEEBAMCBaAwNQYJYIZIAYb4QgENBCgWJkZpcnN0YnJpZGdlIE9w -ZW5TU0wgQ2xpZW50IENlcnRpZmljYXRlMB0GA1UdDgQWBBS5nIUCDZlHhOq1tDYX -IXRbPTs/bjAfBgNVHSMEGDAWgBRLFcdSx+KQe8U5aqVsyriIsvzJLTAOBgNVHQ8B -Af8EBAMCBeAwJwYDVR0lBCAwHgYIKwYBBQUHAwIGCCsGAQUFBwMEBggrBgEFBQcD -AzANBgkqhkiG9w0BAQsFAAOCAgEAqIAsBuaO/1+TLWN5RkUy1zh4haslSwe08R7D -54MnQl3DcpcpaDa045PVJkec06p5Z9RxuzzyYBmPH5SoQ/PPiGTq3La4HBvPMDtH -BsyRdwxZHRf70inCKRGHTAKupL+duyx0AwsF5V0n2xF5QkGZLoxhOULY0rcVfiGM -IwfnCFBZWRuN9MOS8PopgyjjT9uXLlaARz26SIwPPKpxQunwykN1QUDrmapzSDz2 -PeTRwsOPuYuXN/XOUq8DUE4qVoUO8cr64aXzWy5UDOPZLs9zxdO+yqyy6Vex9Qsv -uch3mNgoXeu/gxTJ+euCy/n6RtiZe3z06wth/1+5kav5kmDduwpsepk05ql7BnCi -y/Ke9KbIOnjnMUjl1xXbo2rG7XVj7IpucP3LRT4rLB0VAxWVjype97WC7u6e2vry -TRv5VYHyzELD8hZz84ajUQ6NaGH6DfwtOwEX0Gxj/FuNiX3TrhcHdw4uVo4UypyQ -d1GZt8RpOy09jjZu5PNxnlBDkw5Bi8FaDVg9PM3Gq3I/ZT5dG6Zu5104iv2CgkdD -QJc4PhPsq4rPOLtWmrJ/J2AqBD9vfxjoMiAjLlzvyj6BIiJdMFnLi8qQBQw+G7bW -k5hPJtW40OX0IIYd/jiKcTHB+0oBlBvI450DmuryH1m1ikMEqPB99YPGtef8m3WS -EXVXy1c= ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf/certs/2_1.crt b/apl-conf/src/main/resources/conf/certs/2_1.crt deleted file mode 100644 index 7613ffec3a..0000000000 --- a/apl-conf/src/main/resources/conf/certs/2_1.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGeDCCBGCgAwIBAgICEC0wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTEyNDEzMDMwNFoX -DTIyMDUxODEzMDMwNFowgZ0xCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ0w -CwYDVQQHDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTFREMQwwCgYDVQQL -DANDT08xHTAbBgNVBAMMFEdlb3JnZSBEemh5bmNoYXJhZHplMSgwJgYJKoZIhvcN -AQkBFhlnZW9yZ2UuY29vQGZpcnN0YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA75aMnpLfIWAuzX50072OR9Y5BxowLXggUE2wvTrUFwAo -1q8GETXK80xdhfZtMCkGlMvk8ldA3c+RPTXJIvjoDTGZOTERGOLxB32kSn74fPtu -yRUqktGMBI7JQM6My27owJtApIif2Xn7q8Qo8YguBmbzOEblO0FYVkd9IopePtvt -r/GvJStY0lNIQpXQEzdrK+QBIeXlBG1OiTswC2BU8MAc1SeZcF4fiLnPxT0m9KLF -60iIJ0WFBAmNYP8sQEnsEJRPzPm+rQhv1cAUzNPya9ZOubVqcHclKuzLfd7HOaJh -I7VPBjnd4FFMUzz3fk7jvT8uwvN5JeaU1V3g22bX/EZWmGchSJpFVCuxGdqj3TVn -eSh+D3WodzTobXC8oXxrGL6kDDRjYnLA74XngAFsDuT7yGpQoKQ1K3TL6Hkhwk+a -UMHJ3zi4ccOCNaC6TosJu9eNgXG1+SIBbKmBR59ltd6aLVlTk99nWBN3HsOs/Pnu -UITo36PdwouBTcKV6zQz1TezUsbYdQVfLQs/zvo88SmpNAuG7gcVXMCdd7TSGuk5 -Ac9xihO9hS8mmZouBymkuaugcji54vv4yBYoDXh2km9Ls/Ypcb5r/4jIh4DJFfs1 -5yqzq35smIl5cewVn9KEaETBetZ3Z5MdY8hMuZWPgPhqVVDRqOsnjpk5JmI2AQ8C -AwEAAaOB0TCBzjAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgB -hvhCAQ0EKBYmRmlyc3RicmlkZ2UgT3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUw -HQYDVR0OBBYEFIz6a4Hb4whZiQf2JYpAERgk6P8yMB8GA1UdIwQYMBaAFEsVx1LH -4pB7xTlqpWzKuIiy/MktMA4GA1UdDwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEF -BQcDAgYIKwYBBQUHAwQGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4ICAQAZZBJM -hw6dFMI3b9BCE3i49B2uxjRqtFRpNtOZoPgjVJzWvY+lwpJOXFVShQG67rt53xMM -SLcZvejQGJlQLLWJ0/BKDaeWpsrsoWfp9uNsy0xyhfeLxvsmQjdCDBLUC1/6Trhe -zVbSsQ7556wAHdPFS4x4BvssjdRPVmqckwT5GE5E2ATXYEuNHWDWktlFcCnaoc/P -lOSDQ3qkkVF8sFJnW0nH4nbQQHvyb0gzL+/MexIr3mqm93bXZJN/xbJ7jAgTPLwe -TWU5iCmdJPRxKOhuq6PUP3tJJs1ImT/1+6Hj+VENpOvwV2aeES9ahVCUYZwg4MgF -GTfNribVhpbzTrCALdGH7CBnXkAHYUP++Kr5+C9jXgfhesOGZCLlp1TAw0jrhNyf -bcCpRi24Vgca7b4G9nCxH7agbUo/BU31DEzlQ4K4PTh63NTAsJ4piXwSIFotaRNR -K5N84EN0D/EXlPFUafg5jC19S0RyoHw6SJ7zw5xhj/gxmo+ZLM4oLqJfT3ZX91/V -nNwc4O/cyoICooMMWnCfw6D8nqeWRNKzzN5MCjWL9ewmfm4L4VMKmzWzqKIGAuxK -Q33T/+YgeVsQFQEDy9+aD1rc7X8NHIY+VCEn7ZN3KbaZZ4XnZltn8NbsGLNSbda7 -XxD83EHKwf4mORRn5aX+/5biKe0/xCpfULYnvA== ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf/certs/2_2.crt b/apl-conf/src/main/resources/conf/certs/2_2.crt deleted file mode 100644 index 324f7fb970..0000000000 --- a/apl-conf/src/main/resources/conf/certs/2_2.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -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 -XXpr1M5IhZt0X6sHYkasdl3m/b8= ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf/certs/2_3.crt b/apl-conf/src/main/resources/conf/certs/2_3.crt deleted file mode 100644 index 5806a784a6..0000000000 --- a/apl-conf/src/main/resources/conf/certs/2_3.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGdTCCBF2gAwIBAgICECswDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NTgzOFoX -DTIyMDUxMzE2NTgzOFowgZoxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQsw -CQYDVQQHDAJCQzEUMBIGA1UECgwLRmlyc3RCcmlkZ2UxDjAMBgNVBAsMBURldmVs -MRkwFwYDVQQDDBBTdmlhdG9zbGF2IEdvbGRhMS4wLAYJKoZIhvcNAQkBFh9zdmlh -dG9zbGF2LmdvbGRhQGZpcnN0YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEFAAOC -Ag8AMIICCgKCAgEA2C813+Igz41/ihwSICa0z3HlYhRbRLyByRcKIFp6T/gvs+Mj -+fXrtp8Oodg64mekFW0bgehpqxyYYXkKIz3ObrkK7IUe6CjsctgIY4vdJ+tdK3OD -XCztQNCGtFfqV3/vLv47bq0lmTM342ekWR6NnUiMplIFFdb5VzjJmFQMLZRA6bYn -DQ4+6ml/RtypvVlhc0ey3bwKTMkpJoKylw6LXx6XMks+Y0Eyk/07bQKINOVq+lxS -4MgHsHTdLzd4v9lFldCNMKaMmx99uENDe4PuUVYAuagoQ/52sKEvXpoZJPtNOs9V -YaPfSnrfEyVHJ+M2Fr1ShNW0+v6WDzxjyLufd1514LnKIkXgALVYJnAjL3dxGdKf -Zk8LcNkDEDASceK2XXQTA6Yds86T+td2dKIsI/yGBSpp7mp5qvOsprIdx0nK6bbp -v+e1BZLdtgE0ZPjy0WAkqqZIt4W7MARmkjX8x5R5o0AGBstrDIQpLpHzGomQWVt4 -wEFC3M4Bu1Det//ODCbdXrVXWRirYUo4h4cYywGTQsEIV9yhAIOYntdSVSgRx9aI -+YNi30UVzBaCQFr2fNugk0YvKLr7lZ33tLj9gQBtTZjwo6/YcDj715VtY74IJTyg -mMbTE5N6qBrklO1dEiO3bHoiJeuiQLcfW0uIIaVlCNtSDXxQCqOBo0UX1BsCAwEA -AaOB0TCBzjAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgBhvhC -AQ0EKBYmRmlyc3RicmlkZ2UgT3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUwHQYD -VR0OBBYEFNIHdAVizPNxy3KvQgALrCXMCT0bMB8GA1UdIwQYMBaAFEsVx1LH4pB7 -xTlqpWzKuIiy/MktMA4GA1UdDwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEFBQcD -AgYIKwYBBQUHAwQGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4ICAQA6Ssrhwly9 -M63egy/8M6FqPTxbxKb+0QSOI6MD0IExAUPK7VsAJinT9BkV1y0kZQyJ6AIihcf/ -z3p5vkrrlhTmEDquGV5DjSbAKZUA0GlWESMfl6bdDHy2Mgea5QFb5INIjFlg/KXs -i/IMTOOL9NEDW/J4O/JXkrVpMmpvxXzxQPyfP/XqukykZaiJ4AiVhtKtTSJj0VWp -JYDlEQN27c4s91JUzC5Gx3oQABGjEfFsdMVZ6CKlHU7nnpX16VQW5kiInPCvetSM -7ai6J785x9CUQD+yo6nglVqf8I/C+omVbZsOEdCYmKigOfAFtpSJmzDo6IfEsVzg -hrSuuR9k8OIAeMgKB/Uk2R1vpg3ME+B0NfVMeYHcpnbtgw7ZkHA2ZfTQe7eT1Z2Q -2pBLQdCWN73FQ1AQuJ/YqddmHQzZbvGlX6sBBsm+hWeAWxwP+ivEYXGyApYcjaMG -JQC2zeBaas9xQfzKJVkwDyqe5B1xWypJNf0gavlbc/WXq/IVZZqyHVIYlRf9CAFz -U81XtQtbe8RLZ9yxWTh+1vI/nKHcFRKKH2hGQNhIr1XyZe3HTktQyzgM2VmvybV+ -nBc0q5wGR/w/15XDxKfcLdVbp9ISVJ7+DR4HjZHepLIuR/SBCqagBh1jfR6RJraQ -zwNUEFI6YENbZxyA1Onbw5tIfpKfAC7m9g== ------END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf/certs/CAroot.crt b/apl-conf/src/main/resources/conf/certs/CAroot.crt new file mode 100644 index 0000000000..74a1894012 --- /dev/null +++ b/apl-conf/src/main/resources/conf/certs/CAroot.crt @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +MIIGWTCCBEGgAwIBAgIUFz5OcQaPnWOzsDgWeYn6ce7k/iAwDQYJKoZIhvcNAQEL +BQAwgbMxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ0wCwYDVQQHDARLeWl2 +MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgbHRkMSYwJAYDVQQLDB1BcG9sbG8gQmxv +Y2tjaGFpbiBEZXZlbG9wbWVudDEaMBgGA1UEAwwRQXBvbGxvIEJsb2NrY2hhaW4x +JzAlBgkqhkiG9w0BCQEWGHJvc3R5c2xhdkBmaXJzdGJyaWRnZS5pbzAeFw0yMzA0 +MTkwNDM0MzZaFw00MzA0MTQwNDM0MzZaMIGzMQswCQYDVQQGEwJVQTENMAsGA1UE +CAwES3lpdjENMAsGA1UEBwwES3lpdjEZMBcGA1UECgwQRmlyc3QgQnJpZGdlIGx0 +ZDEmMCQGA1UECwwdQXBvbGxvIEJsb2NrY2hhaW4gRGV2ZWxvcG1lbnQxGjAYBgNV +BAMMEUFwb2xsbyBCbG9ja2NoYWluMScwJQYJKoZIhvcNAQkBFhhyb3N0eXNsYXZA +Zmlyc3RicmlkZ2UuaW8wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCk +qjPeucp7aY4KBR0GIBdIWhAzu9yylLqJ3duwLTAjq6e2//IFnox1AIPH5vecvcm+ +gyseEh/cvfKvKxZX8zr2I0uYKePQr0o2oLwbccJiQ8nSLVsNbrgTFhYP9T994Ob9 +1xqlDjkltL2FNOj3lz7WUUB2PjK1Sc9xGcmT+3Ra+r+3hgTIV2IYd2KAN9JQVOOH +Cjhb77AlEIinSvO6GtpQA88NlMrl0yR5cl+V7KbcLZgXGyY3OuTL+f0FmO/F/gmy +RP0tgMijJ5ilDNuulvMg3xQfWGVhaAkRhfSuvtmfbug76S75ijpvP79OkjJ8C0ej +PmRNWtWPwQABjBL0Asu+NqnFLeF0NP9Y4NBzDAvIC8ISdHDQ/NoYrhuOllu7MU95 +hOUv7AdZsMob91/Hx1yP49TjPkwxfvHS2NjdKJbBOA5+WLmDs1iQWjAV6awtU4nt +Rwbfretw0BLPyaImuBLI0aNEcI4JYDKz8mSqJLNhc4AR4v/IXdLOKbI15Ts67cbz +IBWfVZKsnZmo8KFOSbsm+pLX8KsvWg9ITZNjp9/x13GnCcgVAKl32CuB8m8X3cNi +55cEk6R6AoIkAHCYBgJdlk9b41U/Kj6BR+4dNkhKjk8l368uKUKEnkGyS7muDTW3 +oXyhNoPF4oY/jS9HXZhP4wCOplfsq+ybUJNqGwU5UQIDAQABo2MwYTAdBgNVHQ4E +FgQUVOIeZBvxQK1GZM8aLvjiJW3BGYYwHwYDVR0jBBgwFoAUVOIeZBvxQK1GZM8a +LvjiJW3BGYYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZI +hvcNAQELBQADggIBAAUarn40VJFo3AknFZEGJ8vqV5CWhMGHb9CIp/fLNm5XQZdn +r6GcUh15xxv4E1A+VYmjRr/jgtCLaYD5hd9/DdSPsRuHQ5TTY1R3sE9gloXaMibV +cUhwFu2rwZu237b0oNr7HcnIwleV8bK52TISvFGWGdkcPIUCS7+PLj+PA5EbY/TL +Rknty1wKgM+vi8ILTWwixtcPmeeOejWUwkYuRjTxZoXFxqoCX/kNpYcHeq8kLuQ8 +vl+KWgnVFyFQdfgvXy8PnQIR52eiqgWNcxbWo+HxKMmxJT3KjGumvO5hLnT4cPos +uSdA/aKDOA1Biw39fFiy6dl1Dk6Tfbm5t2KhT6UJLbBGs2vn6fyHhFdQXQ8GQbVP +9M4agj/keZdfBN/XJKwKmESn1x0qvrEt98sBrJkNhuuiPGyLzybm4hIdOWNPBhae +LV5ysuP/KVsvO1VFIkYUYlbz7W2MobwWeQBWGViBDTmG7CMi+TqTXzaHlm3eQcaJ +0JD5FycpYA7B2EUTs72JtcxFBZgQ1Q6jRpsu81kShNNrxqf1lsjK++CQBT/GowtN +eU2fvJg/F/hTVjvtBI4viB8JgZ5DiOm1cKHcRHSETf8JssDyJlC2DlfAGuyDRgtJ +xYvzvkZv9292P2s9asnsrmG3muLs5LdIHie13mJOdFQ2EQVQ0XFOn9qq8JQC +-----END CERTIFICATE----- diff --git a/apl-conf/src/main/resources/conf/certs/intermediate.crt b/apl-conf/src/main/resources/conf/certs/intermediate.crt deleted file mode 100644 index 5d0832b4bd..0000000000 --- a/apl-conf/src/main/resources/conf/certs/intermediate.crt +++ /dev/null @@ -1,35 +0,0 @@ ------BEGIN CERTIFICATE----- -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 -loQcZYg/Dw== ------END CERTIFICATE----- diff --git a/apl-core/pom.xml b/apl-core/pom.xml index c301f8d93d..218e6215ac 100644 --- a/apl-core/pom.xml +++ b/apl-core/pom.xml @@ -276,7 +276,6 @@ org.testcontainers junit-jupiter - test diff --git a/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/app/AplCore.java b/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/app/AplCore.java index 0c4e4e7195..8cdfc38a58 100644 --- a/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/app/AplCore.java +++ b/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/app/AplCore.java @@ -288,7 +288,7 @@ private void startUp() { aplAppStatus.durableTaskUpdate(initCoreTaskID, 100.0, message); log.info("Copyright Ā© 2013-2016 The NXT Core Developers."); log.info("Copyright Ā© 2016-2017 Jelurida IP B.V.."); - log.info("Copyright Ā© 2017-2021 Apollo Foundation."); + log.info("Copyright Ā© 2017-2022 Apollo Foundation."); log.info("See LICENSE.txt for more information"); if (API.getWelcomePageUri() != null) { log.info("Client UI is at " + API.getWelcomePageUri()); @@ -306,8 +306,6 @@ private void startUp() { } aplAppStatus.durableTaskFinished(initCoreTaskID, true, "AplCore init failed (DB)"); log.error("Database initialization failed ", e); - //TODO: move DB operations to proper place - // AplCoreRuntime.getInstance().getRuntimeMode().recoverDb(); } catch (Exception e) { aplAppStatus.durableTaskFinished(initCoreTaskID, true, "AplCore init failed"); log.error(e.getMessage(), e); diff --git a/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/converter/db/BigIntegerColumnMapper.java b/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/converter/db/BigIntegerColumnMapper.java deleted file mode 100644 index 2292fcfba3..0000000000 --- a/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/converter/db/BigIntegerColumnMapper.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.apollocurrency.aplwallet.apl.core.converter.db; - -import org.jdbi.v3.core.mapper.ColumnMapper; -import org.jdbi.v3.core.statement.StatementContext; - -import java.math.BigInteger; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.Optional; - -/** - * Convert from database long into java BigInteger - */ -public class BigIntegerColumnMapper implements ColumnMapper { - - public BigIntegerColumnMapper() { - } - - @Override - public BigInteger map(ResultSet r, int columnNumber, StatementContext ctx) throws SQLException { - String string = r.getString(columnNumber); - return Optional.ofNullable(string).map(BigInteger::new).orElse(null); - } -} diff --git a/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/dao/state/derived/PrunableDbTable.java b/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/dao/state/derived/PrunableDbTable.java index e3c457ea49..20a997efb9 100644 --- a/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/dao/state/derived/PrunableDbTable.java +++ b/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/dao/state/derived/PrunableDbTable.java @@ -81,6 +81,8 @@ public MinMaxValue getMinMaxValue(int height, int currentTime) { String selectMinSql = String.format("SELECT IFNULL(min(DB_ID), 0) as min_id, " + "IFNULL(max(DB_ID), 0) as max_id, IFNULL(count(*), 0) as count, max(height) as max_height from %s where HEIGHT <= ? and transaction_timestamp >= ?", table); TransactionalDataSource dataSource = databaseManager.getDataSource(); + log.trace("MIN/MAX select, height: {} - minPrunLT: {} = {}", + height, blockchainConfig.getMinPrunableLifetime(), currentTime - blockchainConfig.getMinPrunableLifetime()); try (Connection con = dataSource.getConnection(); PreparedStatement pstmt = con.prepareStatement(selectMinSql)) { pstmt.setInt(1, height); diff --git a/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/service/appdata/DeleteTrimObserver.java b/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/service/appdata/DeleteTrimObserver.java deleted file mode 100644 index 9e0de73380..0000000000 --- a/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/service/appdata/DeleteTrimObserver.java +++ /dev/null @@ -1,216 +0,0 @@ -/* - * Copyright Ā© 2018-2019 Apollo Foundation - */ -package com.apollocurrency.aplwallet.apl.core.service.appdata; - -import com.apollocurrency.aplwallet.apl.core.app.observer.events.TrimEvent; -import com.apollocurrency.aplwallet.apl.core.dao.prunable.TaggedDataTable; -import com.apollocurrency.aplwallet.apl.core.dao.state.account.AccountInfoTable; -import com.apollocurrency.aplwallet.apl.core.dao.state.asset.AssetTable; -import com.apollocurrency.aplwallet.apl.core.dao.state.currency.CurrencyTable; -import com.apollocurrency.aplwallet.apl.core.dao.state.dgs.DGSGoodsTable; -import com.apollocurrency.aplwallet.apl.core.dao.state.poll.PollTable; -import com.apollocurrency.aplwallet.apl.core.db.DatabaseManager; -import com.apollocurrency.aplwallet.apl.core.service.fulltext.FullTextOperationData; -import com.apollocurrency.aplwallet.apl.util.db.TransactionalDataSource; -import com.apollocurrency.aplwallet.apl.core.shard.observer.DeleteOnTrimData; -import com.apollocurrency.aplwallet.apl.util.injectable.PropertiesHolder; -import com.apollocurrency.aplwallet.apl.util.task.NamedThreadFactory; -import lombok.extern.slf4j.Slf4j; - -import jakarta.annotation.PostConstruct; -import jakarta.annotation.PreDestroy; -import jakarta.enterprise.event.Event; -import jakarta.enterprise.event.ObservesAsync; -import jakarta.enterprise.inject.Vetoed; -import jakarta.enterprise.util.AnnotationLiteral; -import jakarta.inject.Inject; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.SQLException; -import java.util.HashSet; -import java.util.Objects; -import java.util.Queue; -import java.util.Set; -import java.util.concurrent.Callable; -import java.util.concurrent.ConcurrentLinkedQueue; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ThreadLocalRandom; -import java.util.concurrent.TimeUnit; - -import static com.apollocurrency.aplwallet.apl.core.service.fulltext.FullTextConfig.DEFAULT_SCHEMA; -import static com.apollocurrency.aplwallet.apl.util.Constants.LONG_TIME_FIVE_SECONDS; - -@Slf4j -@Deprecated // remove later -@Vetoed -public class DeleteTrimObserver { - - private final Object lock = new Object(); - private final Queue deleteOnTrimDataQueue = new ConcurrentLinkedQueue<>(); - protected final DatabaseManager databaseManager; - protected final PropertiesHolder propertiesHolder; - private volatile boolean trimDerivedTablesEnabled = true; - private final int COMMIT_BATCH_SIZE; - private final ScheduledExecutorService executorService = - Executors.newSingleThreadScheduledExecutor(new NamedThreadFactory("apl-delete-on-trim")); - - private final Event fullTextOperationDataEvent; - /** - * Tables to processed for FTS updates - */ - private static final Set fullTextSearchTableNames = new HashSet<>(6){{ - add(AccountInfoTable.TABLE_NAME); - add(AssetTable.TABLE_NAME); - add(CurrencyTable.TABLE_NAME); - add(DGSGoodsTable.TABLE_NAME); - add(PollTable.TABLE_NAME); - add(TaggedDataTable.TABLE_NAME); - }}; - - @Inject - public DeleteTrimObserver(DatabaseManager databaseManager, - PropertiesHolder propertiesHolder, - Event fullTextOperationDataEvent) { - this.databaseManager = databaseManager; - this.propertiesHolder = Objects.requireNonNull(propertiesHolder); - this.COMMIT_BATCH_SIZE = propertiesHolder.BATCH_COMMIT_SIZE(); - this.fullTextOperationDataEvent = Objects.requireNonNull(fullTextOperationDataEvent); - } - - @PostConstruct - void init() { - // schedule first run with random delay in 5 sec range - executorService.schedule(taskToCall, ThreadLocalRandom.current().nextLong( - LONG_TIME_FIVE_SECONDS - 1L) + 1L, TimeUnit.MILLISECONDS); - } - - @PreDestroy - void shutdown() { - executorService.shutdownNow(); - } - - public void onDeleteTrimDataAsync(@ObservesAsync @TrimEvent DeleteOnTrimData deleteOnTrimData) { - log.trace("onDeleteTrimDataAsync = {}", deleteOnTrimData); - if (deleteOnTrimData.isResetEvent()) { - log.trace("onDeleteTrimDataAsync : clean up = {}, size[{}]", - deleteOnTrimData.isResetEvent(), deleteOnTrimDataQueue.size()); - this.deleteOnTrimDataQueue.clear(); - } else { - log.trace("onDeleteTrimDataAsync : queue size = [{}]", deleteOnTrimDataQueue.size()); - this.deleteOnTrimDataQueue.add(deleteOnTrimData); - } - } - - private Callable taskToCall = new Callable<>() { - public Void call() { - try { - // Do work. - processScheduledDeleteTrimEvent(); - } finally { - // Reschedule next new Callable with next random delay within 5 sec range - executorService.schedule(this, - ThreadLocalRandom.current().nextLong( - LONG_TIME_FIVE_SECONDS - 1L) + 1L, TimeUnit.MILLISECONDS); - } - return null; - } - }; - - private void processScheduledDeleteTrimEvent() { - log.trace("processScheduledDeleteTrimEvent() scheduled on previous run..."); - if (trimDerivedTablesEnabled) { - boolean performDeleteTrimData; - DeleteOnTrimData deleteOnTrimData; - synchronized (lock) { - if (trimDerivedTablesEnabled) { - deleteOnTrimData = deleteOnTrimDataQueue.peek(); - performDeleteTrimData = deleteOnTrimData != null; - if (performDeleteTrimData) { - performOneTableDelete(deleteOnTrimData); - deleteOnTrimDataQueue.remove(); - log.debug("Performed trim on = {}", deleteOnTrimData); - } else { - log.trace("NO trim data to delete..."); - } - } - } - } else { - log.trace("DISABLED: processScheduledDeleteTrimEvent()"); - } - } - - public long performOneTableDelete(DeleteOnTrimData deleteOnTrimData) { - log.trace("start performOneTableDelete(): {}", deleteOnTrimData); - long startDeleteTime = System.currentTimeMillis(); - long deleted = 0L; - if (deleteOnTrimData != null - && deleteOnTrimData.getDbIdSet() != null - && deleteOnTrimData.getDbIdSet().size() > 0) { - - TransactionalDataSource dataSource = databaseManager.getDataSource(); - boolean inTransaction = dataSource.isInTransaction(); - if (!inTransaction) { - dataSource.begin(); - } - try (Connection con = dataSource.getConnection(); - PreparedStatement pstmtDeleteById = - con.prepareStatement("DELETE FROM " + deleteOnTrimData.getTableName() + " WHERE db_id = ?"); - ) { - long index = 0; - for (Long id : deleteOnTrimData.getDbIdSet()) { - int deleteResult = deleteByDbId(pstmtDeleteById, id); - if (deleteResult > 0 && fullTextSearchTableNames.contains(deleteOnTrimData.getTableName())) { - // fire Async event to FTS - FullTextOperationData operationData = new FullTextOperationData( - DEFAULT_SCHEMA, deleteOnTrimData.getTableName(), Thread.currentThread().getName()); - operationData.setDbIdValue(id); - operationData.setOperationType(FullTextOperationData.OperationType.DELETE); - log.trace("Put lucene index update data = {}", operationData); - this.fullTextOperationDataEvent.select(new AnnotationLiteral() {}).fire(operationData); - } - deleted += deleteResult; -// addDeleteToBatch(pstmtDeleteById, id); - index++; - if (index % COMMIT_BATCH_SIZE == 0) { -// int[] result = pstmtDeleteById.executeBatch(); - dataSource.commit(false); -// deleted += Arrays.stream(result).asLongStream().sum(); - } - } -// int[] result = pstmtDeleteById.executeBatch(); - dataSource.commit(!inTransaction); -// deleted += Arrays.stream(result).asLongStream().sum(); - } catch (Exception e) { - log.error("Batch delete error on table {}", deleteOnTrimData.getTableName(), e); - } - log.debug("performOneTableDelete(): Delete table '{}' in {} ms: deleted=[{}]", - deleteOnTrimData.getTableName(), System.currentTimeMillis() - startDeleteTime, deleted); - } - return deleted; - } - - private void addDeleteToBatch(PreparedStatement pstmtDeleteByDbId, long dbId) throws SQLException { - pstmtDeleteByDbId.setLong(1, dbId); - pstmtDeleteByDbId.addBatch(); // <-- batching - } - - private int deleteByDbId(PreparedStatement pstmtDeleteByDbId, long dbId) throws SQLException { - pstmtDeleteByDbId.setLong(1, dbId); - return pstmtDeleteByDbId.executeUpdate(); - } - - /** - * For unit tests mostly - * @return internal queue with data - */ - public Queue getDeleteOnTrimDataQueue() { - return this.deleteOnTrimDataQueue; - } - - public int getDeleteOnTrimDataQueueSize() { - return this.deleteOnTrimDataQueue.size(); - } - -} diff --git a/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/service/blockchain/BlockchainImpl.java b/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/service/blockchain/BlockchainImpl.java index 6b8056ff55..9576a202a7 100644 --- a/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/service/blockchain/BlockchainImpl.java +++ b/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/service/blockchain/BlockchainImpl.java @@ -636,14 +636,20 @@ private boolean hasShardTransactionByFullHash(byte[] fullHash, int height) { long id = Convert.transactionFullHashToId(fullHash); TransactionIndex transactionIndex = transactionIndexDao.getByTransactionId(id); byte[] hash = getTransactionIndexFullHash(transactionIndex); - return Arrays.equals(hash, fullHash) - && transactionIndexDao.getTransactionHeightByTransactionId(id) <= height; + boolean isHashEqual = Arrays.equals(hash, fullHash); + Integer transactionHeightByTransactionId = transactionIndexDao.getTransactionHeightByTransactionId(id); + boolean isHeightBelow = transactionHeightByTransactionId != null && transactionHeightByTransactionId <= height; + log.trace("is TR found in SHARD and height in DB '{}' or in Shard '{}'", isHashEqual, isHeightBelow); + return isHashEqual && isHeightBelow; } @Override @Transactional(readOnly = true) public boolean hasTransactionByFullHash(byte[] fullHash, int height) { - return transactionService.hasTransactionByFullHash(fullHash, height) || hasShardTransactionByFullHash(fullHash, height); + boolean existsInDb = transactionService.hasTransactionByFullHash(fullHash, height); + boolean existsInShard = hasShardTransactionByFullHash(fullHash, height); + log.trace("is TR found by hash and height in DB '{}' or in Shard '{}'", existsInDb, existsInShard); + return existsInDb || existsInShard; } @Override diff --git a/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/shard/ShardEngineImpl.java b/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/shard/ShardEngineImpl.java index 88ab2046ea..03271044ae 100644 --- a/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/shard/ShardEngineImpl.java +++ b/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/shard/ShardEngineImpl.java @@ -419,6 +419,7 @@ public MigrateState exportCsv(CommandParamInfo paramInfo) { durableTaskUpdateByState(state, 17.0, "CSV exporting..."); try { int pruningTime = trimDerivedTables(paramInfo.getSnapshotBlockHeight() + 1); + log.debug("exportCsv by pruningTime = {} at height = {}", pruningTime, paramInfo.getSnapshotBlockHeight() + 1); if (StringUtils.isBlank(recovery.getProcessedObject())) { try (Stream files = Files.list(csvExporter.getDataExportPath())) { files diff --git a/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/transaction/messages/PhasingAppendixV2Validator.java b/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/transaction/messages/PhasingAppendixV2Validator.java index 1728cedd5b..0a261dd7e0 100644 --- a/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/transaction/messages/PhasingAppendixV2Validator.java +++ b/apl-core/src/main/java/com/apollocurrency/aplwallet/apl/core/transaction/messages/PhasingAppendixV2Validator.java @@ -29,6 +29,12 @@ public PhasingAppendixV2Validator(PhasingAppendixValidator phasingAppendixValida public void validateFinishHeightAndTime(Integer height, Integer time, PhasingAppendix phasingAppendix) throws AplException.NotCurrentlyValidException { int finishHeight = phasingAppendix.getFinishHeight(); + if (height == null) { + throw new AplException.NotCurrentlyValidException("'Height' should NOT be null"); + } + if (time == null) { + throw new AplException.NotCurrentlyValidException("'Time' should NOT be null"); + } if ((finishHeight != -1 && time != -1) || (finishHeight == -1 && time == -1)) { throw new AplException.NotCurrentlyValidException("Only one parameter should be filled 'phasingFinishHeight or phasingFinishTime'"); } diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/AccountAssetBalanceObserverTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/AccountAssetBalanceObserverTest.java new file mode 100644 index 0000000000..0a56f0ea19 --- /dev/null +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/AccountAssetBalanceObserverTest.java @@ -0,0 +1,83 @@ +package com.apollocurrency.aplwallet.apl.core.app.observer; + +import com.apollocurrency.aplwallet.apl.core.entity.appdata.funding.FundingMonitorInstance; +import com.apollocurrency.aplwallet.apl.core.entity.appdata.funding.MonitoredAccount; +import com.apollocurrency.aplwallet.apl.core.entity.state.account.AccountAsset; +import com.apollocurrency.aplwallet.apl.core.model.HoldingType; +import com.apollocurrency.aplwallet.apl.core.service.appdata.funding.FundingMonitorService; +import com.apollocurrency.aplwallet.apl.crypto.Crypto; +import com.apollocurrency.aplwallet.apl.util.Convert2; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; + +import java.util.List; + +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.lenient; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyNoInteractions; +import static org.mockito.Mockito.when; + +@ExtendWith(MockitoExtension.class) +class AccountAssetBalanceObserverTest { + + static { + Convert2.init("APL", 1739068987193023818L); + } + + @Mock + FundingMonitorService fundingMonitorService; + private AccountAssetBalanceObserver observer; + + @BeforeEach + void setUp() { + observer = new AccountAssetBalanceObserver(fundingMonitorService); + } + + @Test + void onAccountAssetBalance_stoppedMonitor() { + AccountAsset asset = new AccountAsset(1L, 1L, 100L, 200L, 1); + when(fundingMonitorService.isStopped()).thenReturn(true); + + observer.onAccountAssetBalance(asset); + + verify(fundingMonitorService).isStopped(); + } + + @Test + void onAccountAssetBalance() { + AccountAsset asset = new AccountAsset(1L, 1L, 100L, 200L, 1000); + when(fundingMonitorService.getMonitors()).thenReturn(List.of()); + byte[] keySeed = Crypto.getKeySeed(new byte[]{0, 1, 2, 3}); + MonitoredAccount monAcc1 = new MonitoredAccount(1L, + new FundingMonitorInstance(HoldingType.ASSET, 1L, "prop", + 100L, 1000L, 10, asset.getAccountId(), keySeed), + 100L, 1000L, 10 + ); + MonitoredAccount monAcc2 = new MonitoredAccount(2L, + new FundingMonitorInstance(HoldingType.ASSET, 1L, "prop", + 100L, 1000L, 10, asset.getAccountId(), keySeed), + 100L, 1000L, 10 + ); + when(fundingMonitorService.getMonitoredAccountListById(asset.getAccountId())).thenReturn( + List.of( + monAcc1, + monAcc2 + ) + ); + when(fundingMonitorService.containsPendingEvent(any(MonitoredAccount.class))).thenReturn(false).thenReturn(false); + lenient().when(fundingMonitorService.addPendingEvent(any(MonitoredAccount.class))).thenReturn(true).thenReturn(true); + + observer.onAccountAssetBalance(asset); + + verify(fundingMonitorService).getMonitors(); + verify(fundingMonitorService, times(2)).containsPendingEvent(any(MonitoredAccount.class)); + verify(fundingMonitorService, times(2)).addPendingEvent(any(MonitoredAccount.class)); + } +} \ No newline at end of file diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/AccountBalanceObserverTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/AccountBalanceObserverTest.java new file mode 100644 index 0000000000..4af1c690e6 --- /dev/null +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/AccountBalanceObserverTest.java @@ -0,0 +1,82 @@ +package com.apollocurrency.aplwallet.apl.core.app.observer; + +import com.apollocurrency.aplwallet.apl.core.entity.appdata.funding.FundingMonitorInstance; +import com.apollocurrency.aplwallet.apl.core.entity.appdata.funding.MonitoredAccount; +import com.apollocurrency.aplwallet.apl.core.entity.state.account.Account; +import com.apollocurrency.aplwallet.apl.core.entity.state.account.AccountAsset; +import com.apollocurrency.aplwallet.apl.core.model.HoldingType; +import com.apollocurrency.aplwallet.apl.core.service.appdata.funding.FundingMonitorService; +import com.apollocurrency.aplwallet.apl.crypto.Crypto; +import com.apollocurrency.aplwallet.apl.util.Convert2; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; + +import java.util.List; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.lenient; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +@ExtendWith(MockitoExtension.class) +class AccountBalanceObserverTest { + + static { + Convert2.init("APL", 1739068987193023818L); + } + + @Mock + FundingMonitorService fundingMonitorService; + private AccountBalanceObserver observer; + + @BeforeEach + void setUp() { + observer = new AccountBalanceObserver(fundingMonitorService); + } + + @Test + void onAccountAssetBalance_stoppedMonitor() { + Account account = new Account(1L, 1L, 100L, 200L, 10L, 100); + when(fundingMonitorService.isStopped()).thenReturn(true); + + observer.onAccountBalance(account); + + verify(fundingMonitorService).isStopped(); + } + + @Test + void onAccountAssetBalance() { + Account account = new Account(1L, 1L, 100L, 200L, 10L, 100); + when(fundingMonitorService.getMonitors()).thenReturn(List.of()); + byte[] keySeed = Crypto.getKeySeed(new byte[]{0, 1, 2, 3}); + MonitoredAccount monAcc1 = new MonitoredAccount(1L, + new FundingMonitorInstance(HoldingType.APL, 1L, "prop", + 100L, 1000L, 10, account.getId(), keySeed), + 100L, 1000L, 10 + ); + MonitoredAccount monAcc2 = new MonitoredAccount(2L, + new FundingMonitorInstance(HoldingType.APL, 1L, "prop", + 100L, 1000L, 10, account.getId(), keySeed), + 100L, 1000L, 10 + ); + when(fundingMonitorService.getMonitoredAccountListById(account.getId())).thenReturn( + List.of( + monAcc1, + monAcc2 + ) + ); + when(fundingMonitorService.containsPendingEvent(any(MonitoredAccount.class))).thenReturn(false).thenReturn(false); + lenient().when(fundingMonitorService.addPendingEvent(any(MonitoredAccount.class))).thenReturn(true).thenReturn(true); + + observer.onAccountBalance(account); + + verify(fundingMonitorService).getMonitors(); + verify(fundingMonitorService, times(2)).containsPendingEvent(any(MonitoredAccount.class)); + verify(fundingMonitorService, times(2)).addPendingEvent(any(MonitoredAccount.class)); + } + +} \ No newline at end of file diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/AccountCurrencyBalanceObserverTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/AccountCurrencyBalanceObserverTest.java new file mode 100644 index 0000000000..4c0d17cf85 --- /dev/null +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/AccountCurrencyBalanceObserverTest.java @@ -0,0 +1,82 @@ +package com.apollocurrency.aplwallet.apl.core.app.observer; + +import com.apollocurrency.aplwallet.apl.core.entity.appdata.funding.FundingMonitorInstance; +import com.apollocurrency.aplwallet.apl.core.entity.appdata.funding.MonitoredAccount; +import com.apollocurrency.aplwallet.apl.core.entity.state.account.AccountCurrency; +import com.apollocurrency.aplwallet.apl.core.model.HoldingType; +import com.apollocurrency.aplwallet.apl.core.service.appdata.funding.FundingMonitorService; +import com.apollocurrency.aplwallet.apl.crypto.Crypto; +import com.apollocurrency.aplwallet.apl.util.Convert2; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; + +import java.util.List; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.lenient; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +@ExtendWith(MockitoExtension.class) +class AccountCurrencyBalanceObserverTest { + + static { + Convert2.init("APL", 1739068987193023818L); + } + + @Mock + FundingMonitorService fundingMonitorService; + private AccountCurrencyBalanceObserver observer; + + @BeforeEach + void setUp() { + observer = new AccountCurrencyBalanceObserver(fundingMonitorService); + } + + @Test + void onAccountCurrencyBalance_stoppedMonitor() { + AccountCurrency accountCurrency = new AccountCurrency(1L, 1L, 100L, 200L, 100); + when(fundingMonitorService.isStopped()).thenReturn(true); + + observer.onAccountCurrencyBalance(accountCurrency); + + verify(fundingMonitorService).isStopped(); + } + + @Test + void onAccountCurrencyBalance() { + AccountCurrency accountCurrency = new AccountCurrency(1L, 1L, 100L, 200L, 100); + when(fundingMonitorService.getMonitors()).thenReturn(List.of()); + byte[] keySeed = Crypto.getKeySeed(new byte[]{0, 1, 2, 3}); + MonitoredAccount monAcc1 = new MonitoredAccount(1L, + new FundingMonitorInstance(HoldingType.CURRENCY, 1L, "prop", + 100L, 1000L, 10, accountCurrency.getAccountId(), keySeed), + 100L, 1000L, 10 + ); + MonitoredAccount monAcc2 = new MonitoredAccount(2L, + new FundingMonitorInstance(HoldingType.CURRENCY, 1L, "prop", + 100L, 1000L, 10, accountCurrency.getAccountId(), keySeed), + 100L, 1000L, 10 + ); + when(fundingMonitorService.getMonitoredAccountListById(accountCurrency.getAccountId())).thenReturn( + List.of( + monAcc1, + monAcc2 + ) + ); + when(fundingMonitorService.containsPendingEvent(any(MonitoredAccount.class))).thenReturn(false).thenReturn(false); + lenient().when(fundingMonitorService.addPendingEvent(any(MonitoredAccount.class))).thenReturn(true).thenReturn(true); + + observer.onAccountCurrencyBalance(accountCurrency); + + verify(fundingMonitorService).getMonitors(); + verify(fundingMonitorService, times(2)).containsPendingEvent(any(MonitoredAccount.class)); + verify(fundingMonitorService, times(2)).addPendingEvent(any(MonitoredAccount.class)); + } + + +} \ No newline at end of file diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/AccountObserverTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/AccountObserverTest.java new file mode 100644 index 0000000000..660cfa2e71 --- /dev/null +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/AccountObserverTest.java @@ -0,0 +1,133 @@ +package com.apollocurrency.aplwallet.apl.core.app.observer; + +import com.apollocurrency.aplwallet.apl.core.app.observer.events.AccountEvent; +import com.apollocurrency.aplwallet.apl.core.app.observer.events.AccountEventBinding; +import com.apollocurrency.aplwallet.apl.core.app.observer.events.AccountEventType; +import com.apollocurrency.aplwallet.apl.core.app.observer.events.AccountLedgerEventType; +import com.apollocurrency.aplwallet.apl.core.entity.state.account.Account; +import com.apollocurrency.aplwallet.apl.core.entity.state.account.AccountLease; +import com.apollocurrency.aplwallet.apl.core.entity.state.account.LedgerEntry; +import com.apollocurrency.aplwallet.apl.core.model.Block; +import com.apollocurrency.aplwallet.apl.core.service.state.account.AccountLeaseService; +import com.apollocurrency.aplwallet.apl.core.service.state.account.AccountLedgerService; +import com.apollocurrency.aplwallet.apl.core.service.state.account.AccountService; +import com.apollocurrency.aplwallet.apl.util.Convert2; +import jakarta.enterprise.event.Event; +import jakarta.enterprise.util.AnnotationLiteral; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; + +import java.util.List; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyBoolean; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +@ExtendWith(MockitoExtension.class) +class AccountObserverTest { + + static { + Convert2.init("APL", 1739068987193023818L); + } + + @Mock + AccountService accountService; + @Mock + AccountLeaseService accountLeaseService; + @Mock + Event accountLeaseEvent; + @Mock + AccountLedgerService accountLedgerService; + + AccountObserver observer; + + @BeforeEach + void setUp() { + this.observer = new AccountObserver(accountService, accountLeaseService, accountLeaseEvent, accountLedgerService); + } + + @Test + void onBlockApplied() { + Block block = mock(Block.class); + when(block.getHeight()).thenReturn(5000).thenReturn(5000).thenReturn(6000); + + AccountLease accountLease1 = new AccountLease(1L, 5000, 6000, 1L, 5000); + AccountLease accountLease3 = new AccountLease(3L, 6000, 5000, 2L, 5000); + accountLease3.setNextLeasingHeightFrom(5000); + + when(accountLeaseService.getLeaseChangingAccountsAtHeight(5000)).thenReturn(List.of( + accountLease1, + new AccountLease(2L, 6000, 5000, 2L, 5000), + accountLease3 + )); + Account account1 = new Account(1L, 1L, 100L, 200L, 10L, 100); + Account account2 = new Account(2L, 1L, 100L, 200L, 10L, 100); + when(accountService.getAccount(anyLong())).thenReturn(account1).thenReturn(account2); + Event firedEvent = mock(Event.class); + doNothing().doNothing().when(firedEvent).fire(any(AccountLease.class)); + AnnotationLiteral literal = AccountEventBinding.literal(AccountEventType.LEASE_STARTED); + AnnotationLiteral literalEnded = AccountEventBinding.literal(AccountEventType.LEASE_ENDED); + doReturn(firedEvent).when(accountLeaseEvent).select(literal); + doReturn(firedEvent).doReturn(firedEvent).when(accountLeaseEvent).select(literalEnded); + + this.observer.onBlockApplied(block); + + verify(accountLeaseService).getLeaseChangingAccountsAtHeight(5000); + verify(accountLeaseEvent, times(2)).select(literal); + verify(accountLeaseEvent, times(2)).select(literalEnded); + verify(accountService, times(3)).update(any(Account.class)); + verify(accountLeaseService, times(1)).insertLease(any(AccountLease.class)); + verify(accountLeaseService, times(1)).deleteLease(any(AccountLease.class)); + } + + @Test + void onLedgerCommitEntries() { + AccountLedgerEventType event = AccountLedgerEventType.COMMIT_ENTRIES; + doNothing().when(accountLedgerService).commitEntries(); + + this.observer.onLedgerCommitEntries(event); + verify(accountLedgerService).commitEntries(); + } + + @Test + void onLedgerClearEntries() { + AccountLedgerEventType event = AccountLedgerEventType.COMMIT_ENTRIES; + doNothing().when(accountLedgerService).clearEntries(); + + this.observer.onLedgerClearEntries(event); + verify(accountLedgerService).clearEntries(); + } + + @Test + void onLogLedgerEntries() { + LedgerEntry entry = mock(LedgerEntry.class); + when(accountLedgerService.mustLogEntry(anyLong(), anyBoolean())).thenReturn(true).thenReturn(false); + + this.observer.onLogLedgerEntries(entry); + this.observer.onLogLedgerEntries(entry); + + verify(accountLedgerService).logEntry(entry); + verify(accountLedgerService, times(2)).mustLogEntry(anyLong(), anyBoolean()); + } + + @Test + void onLogUnconfirmedLedgerEntries() { + LedgerEntry entry = mock(LedgerEntry.class); + when(accountLedgerService.mustLogEntry(anyLong(), anyBoolean())).thenReturn(true).thenReturn(false); + + this.observer.onLogUnconfirmedLedgerEntries(entry); + this.observer.onLogUnconfirmedLedgerEntries(entry); + + verify(accountLedgerService).logEntry(entry); + verify(accountLedgerService, times(2)).mustLogEntry(anyLong(), anyBoolean()); + } +} \ No newline at end of file diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/AccountPropertyObserverTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/AccountPropertyObserverTest.java new file mode 100644 index 0000000000..22355c31a4 --- /dev/null +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/AccountPropertyObserverTest.java @@ -0,0 +1,209 @@ +package com.apollocurrency.aplwallet.apl.core.app.observer; + +import com.apollocurrency.aplwallet.apl.core.entity.appdata.funding.FundingMonitorInstance; +import com.apollocurrency.aplwallet.apl.core.entity.appdata.funding.MonitoredAccount; +import com.apollocurrency.aplwallet.apl.core.entity.state.account.AccountProperty; +import com.apollocurrency.aplwallet.apl.core.model.HoldingType; +import com.apollocurrency.aplwallet.apl.core.service.appdata.funding.FundingMonitorService; +import com.apollocurrency.aplwallet.apl.crypto.Crypto; +import com.apollocurrency.aplwallet.apl.util.Convert2; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; + +import java.util.ArrayList; +import java.util.List; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +@ExtendWith(MockitoExtension.class) +class AccountPropertyObserverTest { + static { + Convert2.init("APL", 1739068987193023818L); + } + @Mock + FundingMonitorService fundingMonitorService; + private AccountPropertyObserver observer; + + @BeforeEach + void setUp() { + this.observer = new AccountPropertyObserver(this.fundingMonitorService); + } + + @Test + void onAccountSetProperty_Stopped() { + AccountProperty property = mock(AccountProperty.class); + when(fundingMonitorService.isStopped()).thenReturn(true); + + observer.onAccountSetProperty(property); + + verify(fundingMonitorService).isStopped(); + } + + @Test + void onAccountSetProperty() { + AccountProperty property = new AccountProperty( + 1L, 1L, 1L, "prop", "val", 5000); + when(fundingMonitorService.isStopped()).thenReturn(false); + when(fundingMonitorService.getMonitors()).thenReturn(List.of()); + + byte[] keySeed = Crypto.getKeySeed(new byte[]{0, 1, 2, 3}); + MonitoredAccount monAcc1 = new MonitoredAccount(1L, + new FundingMonitorInstance(HoldingType.CURRENCY, 1L, "prop", + 100L, 1000L, 10, property.getRecipientId(), keySeed), + 100L, 1000L, 10 + ); + MonitoredAccount monAcc2 = new MonitoredAccount(2L, + new FundingMonitorInstance(HoldingType.CURRENCY, 1L, "prop2", + 100L, 1000L, 10, property.getRecipientId(), keySeed), + 100L, 1000L, 10 + ); + when(fundingMonitorService.getMonitoredAccountListById(property.getRecipientId())).thenReturn( + List.of( + monAcc1, + monAcc2 + ) + ); + when(fundingMonitorService.createMonitoredAccount(anyLong(), any(FundingMonitorInstance.class), anyString())) + .thenReturn(monAcc1).thenReturn(monAcc2); + + observer.onAccountSetProperty(property); + + verify(fundingMonitorService).isStopped(); + verify(fundingMonitorService, times(1)).getMonitoredAccountListById(anyLong()); + verify(fundingMonitorService, times(1)).createMonitoredAccount(anyLong(), any(FundingMonitorInstance.class), anyString()); + verify(fundingMonitorService, times(1)).addPendingEvent(any(MonitoredAccount.class)); + } + + @Test + void onAccountSetProperty_addAccount() { + AccountProperty property = new AccountProperty( + 1L, 1L, 1L, "prop", "val", 5000); + when(fundingMonitorService.isStopped()).thenReturn(false); + + byte[] keySeed = Crypto.getKeySeed(new byte[]{0, 1, 2, 3}); + MonitoredAccount monAcc1 = new MonitoredAccount(1L, + new FundingMonitorInstance(HoldingType.CURRENCY, 1L, "prop", + 100L, 1000L, 10, 1L, keySeed), + 100L, 1000L, 10 + ); + MonitoredAccount monAcc2 = new MonitoredAccount(2L, + new FundingMonitorInstance(HoldingType.CURRENCY, 1L, "prop2", + 100L, 1000L, 10, 1L, keySeed), + 100L, 1000L, 10 + ); + when(fundingMonitorService.getMonitors()).thenReturn(List.of()).thenReturn(List.of( + new FundingMonitorInstance(HoldingType.ASSET, 1L, "prop", + 100L, 100L, 10, 1L, keySeed), + new FundingMonitorInstance(HoldingType.ASSET, 1L, "prop", + 100L, 100L, 10, 2L, keySeed) + )); + + when(fundingMonitorService.getMonitoredAccountListById(property.getRecipientId())) + .thenReturn(null).thenReturn(null).thenReturn(new ArrayList<>(1)); + when(fundingMonitorService.createMonitoredAccount(anyLong(), any(FundingMonitorInstance.class), anyString())) + .thenReturn(monAcc1).thenReturn(monAcc2); + + + observer.onAccountSetProperty(property); + + verify(fundingMonitorService).isStopped(); + verify(fundingMonitorService, times(2)).getMonitors(); + verify(fundingMonitorService, times(3)).getMonitoredAccountListById(anyLong()); + verify(fundingMonitorService, times(2)).createMonitoredAccount(anyLong(), any(FundingMonitorInstance.class), anyString()); + verify(fundingMonitorService, times(2)).addPendingEvent(any(MonitoredAccount.class)); + verify(fundingMonitorService, times(1)).putAccountList(anyLong(), any(ArrayList.class)); + } + + @Test + void onAccountSetProperty_Exception() { + AccountProperty property = mock(AccountProperty.class); + when(fundingMonitorService.isStopped()).thenReturn(false); + when(fundingMonitorService.getMonitors()).thenThrow(new RuntimeException()); + + observer.onAccountSetProperty(property); + + verify(fundingMonitorService).isStopped(); + verify(fundingMonitorService).getMonitors(); + } + + @Test + void onAccountDeleteProperty_stopped() { + AccountProperty property = mock(AccountProperty.class); + when(fundingMonitorService.isStopped()).thenReturn(true); + + observer.onAccountSetProperty(property); + + verify(fundingMonitorService).isStopped(); + } + + @Test + void onAccountDeleteProperty_one() { + AccountProperty property = new AccountProperty( + 1L, 1L, 1L, "prop", "val", 5000); + when(fundingMonitorService.isStopped()).thenReturn(false); + when(fundingMonitorService.getMonitors()).thenReturn(List.of()); + + byte[] keySeed = Crypto.getKeySeed(new byte[]{0, 1, 2, 3}); + MonitoredAccount monAcc1 = new MonitoredAccount(1L, + new FundingMonitorInstance(HoldingType.CURRENCY, 1L, "prop", + 100L, 1000L, 10, 1L, keySeed), + 100L, 1000L, 10 + ); + MonitoredAccount monAcc2 = new MonitoredAccount(2L, + new FundingMonitorInstance(HoldingType.CURRENCY, 1L, "prop2", + 100L, 1000L, 10, 1L, keySeed), + 100L, 1000L, 10 + ); + + when(fundingMonitorService.getMonitoredAccountListById(property.getRecipientId())) + .thenReturn(List.of()); + + observer.onAccountDeleteProperty(property); + + verify(fundingMonitorService).isStopped(); + verify(fundingMonitorService, times(1)).getMonitors(); + verify(fundingMonitorService, times(1)).getMonitoredAccountListById(anyLong()); + verify(fundingMonitorService, times(1)).removeByAccountId(anyLong()); + } + + @Test + void onAccountDeleteProperty_two() { + AccountProperty property = new AccountProperty( + 1L, 1L, 1L, "prop", "val", 5000); + when(fundingMonitorService.isStopped()).thenReturn(false); + when(fundingMonitorService.getMonitors()).thenReturn(List.of()); + + byte[] keySeed = Crypto.getKeySeed(new byte[]{0, 1, 2, 3}); + MonitoredAccount monAcc1 = new MonitoredAccount(1L, + new FundingMonitorInstance(HoldingType.CURRENCY, 1L, "prop", + 100L, 1000L, 10, 1L, keySeed), + 100L, 1000L, 10 + ); + MonitoredAccount monAcc2 = new MonitoredAccount(2L, + new FundingMonitorInstance(HoldingType.CURRENCY, 1L, "prop2", + 100L, 1000L, 10, 1L, keySeed), + 100L, 1000L, 10 + ); + List accList = new ArrayList(2); + accList.add(monAcc1); + accList.add(monAcc2); + when(fundingMonitorService.getMonitoredAccountListById(property.getRecipientId())) + .thenReturn(accList); + + observer.onAccountDeleteProperty(property); + + verify(fundingMonitorService).isStopped(); + verify(fundingMonitorService, times(1)).getMonitors(); + verify(fundingMonitorService, times(1)).getMonitoredAccountListById(anyLong()); + } + +} \ No newline at end of file diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/DGSObserverTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/DGSObserverTest.java new file mode 100644 index 0000000000..dd72636de8 --- /dev/null +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/DGSObserverTest.java @@ -0,0 +1,92 @@ +package com.apollocurrency.aplwallet.apl.core.app.observer; + +import com.apollocurrency.aplwallet.apl.core.entity.state.account.Account; +import com.apollocurrency.aplwallet.apl.core.entity.state.account.LedgerEvent; +import com.apollocurrency.aplwallet.apl.core.entity.state.dgs.DGSGoods; +import com.apollocurrency.aplwallet.apl.core.entity.state.dgs.DGSPurchase; +import com.apollocurrency.aplwallet.apl.core.model.Block; +import com.apollocurrency.aplwallet.apl.core.service.state.DGSService; +import com.apollocurrency.aplwallet.apl.core.service.state.account.AccountService; +import com.apollocurrency.aplwallet.apl.util.db.DbIterator; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; + +import java.math.BigInteger; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyBoolean; +import static org.mockito.ArgumentMatchers.anyInt; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyNoInteractions; +import static org.mockito.Mockito.when; + +@ExtendWith(MockitoExtension.class) +class DGSObserverTest { + + @Mock + DGSService dgsService; + @Mock + AccountService accountService; + + private DGSObserver observer; + + @BeforeEach + void setUp() { + this.observer = new DGSObserver(dgsService, accountService); + } + + @Test + void onBlockApplied_zeroHeight() { + Block block = mock(Block.class); + doReturn(0).when(block).getHeight(); + + this.observer.onBlockApplied(block); + + verifyNoInteractions(dgsService); + verifyNoInteractions(accountService); + } + + @Test + void onBlockApplied() { + Block block = mock(Block.class); + doReturn(1000).when(block).getHeight(); + DbIterator iterator = mock(DbIterator.class); + when(iterator.hasNext()).thenReturn(true).thenReturn(false); + DGSPurchase purchase1 = new DGSPurchase( + 1L, 1000, 1L, 1L, 1L, 1L, 10, 120, 1100, null, 1000, false, null, false, null, false, false, + List.of(), List.of(), 10L, 10L); + when(iterator.next()).thenReturn(purchase1); + + Account account = new Account(1L, 1000); + when(accountService.getAccount(1L)).thenReturn(account); + doNothing().when(accountService).addToUnconfirmedBalanceATM(account, LedgerEvent.DIGITAL_GOODS_PURCHASE_EXPIRED, + 1L, 1200L); + String[] parsedTags = {}; + DGSGoods dgsGoods = new DGSGoods(1L, 1000, 1L, 1L, "name", "descr", "tags", + parsedTags, 1000, false, 10, 10L, false); + when(dgsService.getGoods(1L)).thenReturn(dgsGoods); + + when(dgsService.getExpiredPendingPurchases(block)).thenReturn(iterator); + doNothing().when(dgsService).changeQuantity(dgsGoods, 10); + doNothing().when(dgsService).setPending(any(DGSPurchase.class), anyBoolean()); + + this.observer.onBlockApplied(block); + + verify(dgsService).getExpiredPendingPurchases(any(Block.class)); + verify(accountService, times(1)).getAccount(anyLong()); + verify(accountService, times(1)).addToUnconfirmedBalanceATM( + account, LedgerEvent.DIGITAL_GOODS_PURCHASE_EXPIRED, + 1L, 1200L); + verify(dgsService).getGoods(1L); + } +} \ No newline at end of file diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/PollObserverTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/PollObserverTest.java new file mode 100644 index 0000000000..1a73d25e57 --- /dev/null +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/PollObserverTest.java @@ -0,0 +1,41 @@ +package com.apollocurrency.aplwallet.apl.core.app.observer; + +import com.apollocurrency.aplwallet.apl.core.model.Block; +import com.apollocurrency.aplwallet.apl.core.service.state.PollService; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; + +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +@ExtendWith(MockitoExtension.class) +class PollObserverTest { + + @Mock + PollService pollService; + private PollObserver observer; + + @BeforeEach + void setUp() { + this.observer = new PollObserver(pollService); + } + + @Test + void onBlockApplied() { + Block block = mock(Block.class); + when(block.getHeight()).thenReturn(1000).thenReturn(1000).thenReturn(1000); + doNothing().when(pollService).checkPolls(1000); +// when(pollService.checkPolls(block.getHeight()); + + this.observer.onBlockApplied(block); + + verify(pollService).checkPolls(block.getHeight()); + } +} \ No newline at end of file diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/TrimObserverScheduleLogicTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/TrimObserverScheduleLogicTest.java index e69de29bb2..f10a4cfa62 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/TrimObserverScheduleLogicTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/app/observer/TrimObserverScheduleLogicTest.java @@ -0,0 +1,100 @@ +/* + * Copyright Ā© 2018-2019 Apollo Foundation + */ + +package com.apollocurrency.aplwallet.apl.core.app.observer; + +import com.apollocurrency.aplwallet.apl.core.app.observer.events.BlockEvent; +import com.apollocurrency.aplwallet.apl.core.app.observer.events.BlockEventBinding; +import com.apollocurrency.aplwallet.apl.core.app.observer.events.BlockEventType; +import com.apollocurrency.aplwallet.apl.core.chainid.BlockchainConfig; +import com.apollocurrency.aplwallet.apl.core.chainid.HeightConfig; +import com.apollocurrency.aplwallet.apl.core.model.Block; +import com.apollocurrency.aplwallet.apl.core.service.appdata.TrimService; +import com.apollocurrency.aplwallet.apl.core.service.blockchain.Blockchain; +import com.apollocurrency.aplwallet.apl.util.Constants; +import com.apollocurrency.aplwallet.apl.util.injectable.PropertiesHolder; +import lombok.extern.slf4j.Slf4j; +import org.jboss.weld.junit.MockBean; +import org.jboss.weld.junit5.EnableWeld; +import org.jboss.weld.junit5.WeldInitiator; +import org.jboss.weld.junit5.WeldSetup; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.Execution; +import org.junit.jupiter.api.parallel.ExecutionMode; +import org.mockito.Mockito; + +import jakarta.enterprise.event.Event; +import jakarta.enterprise.util.AnnotationLiteral; +import jakarta.inject.Inject; +import java.util.List; +import java.util.Optional; +import java.util.Random; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +@Slf4j +@EnableWeld +@Execution(ExecutionMode.CONCURRENT) +class TrimObserverScheduleLogicTest { + TrimService trimService = mock(TrimService.class); + BlockchainConfig blockchainConfig = Mockito.mock(BlockchainConfig.class); + PropertiesHolder propertiesHolder = mock(PropertiesHolder.class); + HeightConfig config = Mockito.mock(HeightConfig.class); + TrimConfig trimConfig = Mockito.mock(TrimConfig.class); + Random random = new Random(); + Blockchain blockchain = mock(Blockchain.class); + @WeldSetup + WeldInitiator weld = WeldInitiator.from(TrimObserver.class) + .addBeans(MockBean.of(trimService, TrimService.class)) + .addBeans(MockBean.of(blockchainConfig, BlockchainConfig.class)) + .addBeans(MockBean.of(propertiesHolder, PropertiesHolder.class)) + .addBeans(MockBean.of(random, Random.class)) + .addBeans(MockBean.of(blockchain, Blockchain.class)) + .addBeans(MockBean.of(trimConfig, TrimConfig.class)) + .build(); + TrimObserver observer; + + { + doReturn(config).when(blockchainConfig).getCurrentConfig(); + doReturn(100).when(propertiesHolder).getIntProperty("apl.trimProcessingDelay", 2000); + } + + @BeforeEach + void setUp() { + observer = new TrimObserver(this.trimService, this.trimConfig, this.blockchain); + } + + @Test + void testOnBlockPushedOne() { + when(trimConfig.getTrimFrequency()).thenReturn(5000); + Block block = mock(Block.class); + when(block.getHeight()).thenReturn(5000); + + observer.onBlockPushed(block); + observer.onBlockPushed(block); + List generatedTrimHeights = observer.getTrimQueue(); + assertEquals(2, generatedTrimHeights.size()); + } + + @Test + void testOnBlockPushedTwo() { + when(trimConfig.getTrimFrequency()).thenReturn(5000).thenReturn(6000); + Block block = mock(Block.class); + when(block.getHeight()).thenReturn(5000).thenReturn(6000); + + observer.onBlockPushed(block); + observer.onBlockPushed(block); + List generatedTrimHeights = observer.getTrimQueue(); + assertEquals(2, generatedTrimHeights.size()); + } + +} \ No newline at end of file diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/DbContainerBaseTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/DbContainerBaseTest.java index 6d7be125c8..d5bd3f417c 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/DbContainerBaseTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/DbContainerBaseTest.java @@ -6,6 +6,8 @@ import org.testcontainers.containers.output.Slf4jLogConsumer; import org.testcontainers.junit.jupiter.Container; +import static com.apollocurrency.aplwallet.apl.core.dao.MariaDBConfigs.DOCKER_IMAGE_NAME_VERSION; + /** * An attempt to reuse existing container for multiple tests. */ @@ -16,7 +18,7 @@ public abstract class DbContainerBaseTest { public static final GenericContainer mariaDBContainer; static { - mariaDBContainer = new MariaDBContainer("mariadb:10.5") + mariaDBContainer = new MariaDBContainer(DOCKER_IMAGE_NAME_VERSION) .withDatabaseName("testdb") .withUsername("testuser") .withPassword("testpass") @@ -25,9 +27,12 @@ public abstract class DbContainerBaseTest { .withNetwork(null) .withLabel("com.apollocurrency.aplwallet.apl", "testcontainer") .withLogConsumer(new Slf4jLogConsumer(log)) - .withCommand(MariaDBConfigs.getEnvs()); + .withCommand(MariaDBConfigs.getEnvs()) + ; mariaDBContainer.start(); + Runtime.getRuntime().addShutdownHook(new Thread(mariaDBContainer::stop)); } + } diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/DBContainerRootTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/DbContainerRootUserTest.java similarity index 87% rename from apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/DBContainerRootTest.java rename to apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/DbContainerRootUserTest.java index fa6e52ad5c..1c6978c5f3 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/DBContainerRootTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/DbContainerRootUserTest.java @@ -7,13 +7,13 @@ import org.testcontainers.junit.jupiter.Container; @Slf4j -public abstract class DBContainerRootTest { +public abstract class DbContainerRootUserTest { @Container public static final GenericContainer mariaDBContainer; static { - mariaDBContainer = new MariaDBContainer("mariadb:10.5") + mariaDBContainer = new MariaDBContainer(MariaDBConfigs.DOCKER_IMAGE_NAME_VERSION) .withDatabaseName("testdb") .withUsername("root") .withPassword("rootpass") diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/JdbcQueryExecutionHelperTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/JdbcQueryExecutionHelperTest.java index a738ab511d..08748a56fd 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/JdbcQueryExecutionHelperTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/JdbcQueryExecutionHelperTest.java @@ -19,8 +19,9 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assertions.assertTrue; + @Tag("slow") -class JdbcQueryExecutionHelperTest extends DBContainerRootTest{ +class JdbcQueryExecutionHelperTest extends DbContainerRootUserTest { @RegisterExtension static DbExtension dbExtension = new DbExtension(mariaDBContainer); diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/MariaDBConfigs.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/MariaDBConfigs.java index f5fc74676d..b55941c7d3 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/MariaDBConfigs.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/MariaDBConfigs.java @@ -2,6 +2,8 @@ public class MariaDBConfigs { + public static final String DOCKER_IMAGE_NAME_VERSION = "mariadb:10.11"; + private static String[] envs; static { diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/BlockIndexDaoTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/BlockIndexDaoTest.java index 57d18e4bee..1e5cdcaf01 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/BlockIndexDaoTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/BlockIndexDaoTest.java @@ -78,7 +78,7 @@ public class BlockIndexDaoTest extends DbContainerBaseTest { TransactionDaoImpl.class, JdbiHandleFactory.class, JdbiConfiguration.class) .addBeans(MockBean.of(dbExtension.getDatabaseManager(), DatabaseManager.class)) .addBeans(MockBean.of(propertiesHolder, PropertiesHolder.class)) - .addBeans(MockBean.of(timeService, TimeConfig.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) .addBeans(MockBean.of(timeService, TimeService.class)) .addBeans(MockBean.of(mock(PrunableLoadingService.class), PrunableLoadingService.class)) .addBeans(MockBean.of(td.getTransactionTypeFactory(), TransactionTypeFactory.class)) diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/ReferencedTransactionDaoTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/ReferencedTransactionDaoTest.java index 13d664b426..22fb6639e0 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/ReferencedTransactionDaoTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/ReferencedTransactionDaoTest.java @@ -128,7 +128,7 @@ class ReferencedTransactionDaoTest extends DbContainerBaseTest { .addBeans(MockBean.of(mock(PrunableMessageService.class), PrunableMessageService.class, PrunableMessageServiceImpl.class)) .addBeans(MockBean.of(mock(AccountService.class), AccountService.class, AccountServiceImpl.class)) .addBeans(MockBean.of(propertiesHolder, PropertiesHolder.class)) - .addBeans(MockBean.of(timeService, TimeConfig.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) .addBeans(MockBean.of(timeService, TimeService.class)) .addBeans(MockBean.of(mock(PublicKeyDao.class), PublicKeyDao.class)) .addBeans(MockBean.of(mock(CurrencyService.class), CurrencyService.class)) diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/ShardDaoTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/ShardDaoTest.java index 5df74ba6c2..329bc7d48a 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/ShardDaoTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/ShardDaoTest.java @@ -95,7 +95,7 @@ class ShardDaoTest extends DbContainerBaseTest { .addBeans(MockBean.of(extension.getDatabaseManager(), DatabaseManager.class)) .addBeans(MockBean.of(mock(BlockIndexService.class), BlockIndexService.class, BlockIndexServiceImpl.class)) .addBeans(MockBean.of(propertiesHolder, PropertiesHolder.class)) - .addBeans(MockBean.of(timeService, TimeConfig.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) .addBeans(MockBean.of(timeService, TimeService.class)) .addBeans(MockBean.of(mock(PublicKeyDao.class), PublicKeyDao.class)) .addBeans(MockBean.of(mock(PrunableLoadingService.class), PrunableLoadingService.class)) diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/ShardRecoveryDaoTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/ShardRecoveryDaoTest.java index ae3026501d..b19f00edcc 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/ShardRecoveryDaoTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/ShardRecoveryDaoTest.java @@ -87,7 +87,7 @@ class ShardRecoveryDaoTest extends DbContainerBaseTest { .addBeans(MockBean.of(propertiesHolder, PropertiesHolder.class)) .addBeans(MockBean.of(mock(PublicKeyDao.class), PublicKeyDao.class)) .addBeans(MockBean.of(mock(BlockchainConfig.class), BlockchainConfig.class)) - .addBeans(MockBean.of(timeService, TimeConfig.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) .addBeans(MockBean.of(timeService, TimeService.class)) .build(); diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/TransactionIndexDaoTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/TransactionIndexDaoTest.java index 02a791ffd4..a4d6eeadae 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/TransactionIndexDaoTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/appdata/TransactionIndexDaoTest.java @@ -87,7 +87,7 @@ public class TransactionIndexDaoTest extends DbContainerBaseTest { .addBeans(MockBean.of(dbExtension.getDatabaseManager(), DatabaseManager.class)) .addBeans(MockBean.of(mock(BlockIndexService.class), BlockIndexService.class, BlockIndexServiceImpl.class)) .addBeans(MockBean.of(propertiesHolder, PropertiesHolder.class)) - .addBeans(MockBean.of(timeService, TimeConfig.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) .addBeans(MockBean.of(timeService, TimeService.class)) .addBeans(MockBean.of(mock(PublicKeyDao.class), PublicKeyDao.class)) .addBeans(MockBean.of(mock(PrunableLoadingService.class), PrunableLoadingService.class)) diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/prunable/DataTagDaoTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/prunable/DataTagDaoTest.java index 47306a6704..b1ea027bc2 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/prunable/DataTagDaoTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/prunable/DataTagDaoTest.java @@ -108,7 +108,7 @@ class DataTagDaoTest extends DbContainerBaseTest { .addBeans(MockBean.of(mock(PublicKeyDao.class), PublicKeyDao.class)) .addBeans(MockBean.of(mock(PrunableLoadingService.class), PrunableLoadingService.class)) .addBeans(MockBean.of(td.getTransactionTypeFactory(), TransactionTypeFactory.class)) - .addBeans(MockBean.of(timeService, TimeConfig.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) .addBeans(MockBean.of(timeService, TimeService.class)) .addBeans(MockBean.of(mock(BlockchainConfig.class), BlockchainConfig.class)) .build(); diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/prunable/PrunableMessageTableTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/prunable/PrunableMessageTableTest.java index b170781d35..1f96b34c2c 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/prunable/PrunableMessageTableTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/prunable/PrunableMessageTableTest.java @@ -59,7 +59,7 @@ class PrunableMessageTableTest extends DbContainerBaseTest { FullTextConfigImpl.class) .addBeans(MockBean.of(extension.getDatabaseManager(), DatabaseManager.class)) .addBeans(MockBean.of(propertiesHolder, PropertiesHolder.class)) - .addBeans(MockBean.of(timeService, TimeConfig.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) .addBeans(MockBean.of(timeService, TimeService.class)) .addBeans(MockBean.of(mock(BlockchainConfig.class), BlockchainConfig.class)) .build(); diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/derived/ShardRecoveryDaoJdbcTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/derived/ShardRecoveryDaoJdbcTest.java index f2ddc0cfa0..0a0e819e45 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/derived/ShardRecoveryDaoJdbcTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/derived/ShardRecoveryDaoJdbcTest.java @@ -4,11 +4,13 @@ package com.apollocurrency.aplwallet.apl.core.dao.state.derived; +import com.apollocurrency.aplwallet.apl.core.config.TimeConfig; import com.apollocurrency.aplwallet.apl.core.dao.DbContainerBaseTest; import com.apollocurrency.aplwallet.apl.core.dao.appdata.ShardRecoveryDaoJdbc; import com.apollocurrency.aplwallet.apl.core.dao.appdata.impl.ShardRecoveryDaoJdbcImpl; import com.apollocurrency.aplwallet.apl.core.db.DatabaseManager; import com.apollocurrency.aplwallet.apl.core.entity.appdata.ShardRecovery; +import com.apollocurrency.aplwallet.apl.core.service.appdata.TimeService; import com.apollocurrency.aplwallet.apl.core.service.appdata.impl.TimeServiceImpl; import com.apollocurrency.aplwallet.apl.core.shard.MigrateState; import com.apollocurrency.aplwallet.apl.extension.DbExtension; @@ -45,11 +47,16 @@ class ShardRecoveryDaoJdbcTest extends DbContainerBaseTest { @RegisterExtension static DbExtension extension = new DbExtension(mariaDBContainer); + TimeConfig config = new TimeConfig(false); + TimeService timeService = new TimeServiceImpl(config.timeSource()); + @WeldSetup public WeldInitiator weld = WeldInitiator.from( - PropertiesHolder.class, ShardRecoveryDaoJdbcImpl.class, TimeServiceImpl.class) + PropertiesHolder.class, ShardRecoveryDaoJdbcImpl.class) .addBeans(MockBean.of(extension.getDatabaseManager(), DatabaseManager.class)) .addBeans(MockBean.of(mock(NtpTime.class), NtpTime.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) + .addBeans(MockBean.of(timeService, TimeService.class)) .build(); private Connection connection; diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/shuffling/ShufflingDataTableTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/shuffling/ShufflingDataTableTest.java index 2aa7e960e3..eec7beecee 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/shuffling/ShufflingDataTableTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/shuffling/ShufflingDataTableTest.java @@ -5,7 +5,7 @@ package com.apollocurrency.aplwallet.apl.core.dao.state.shuffling; import com.apollocurrency.aplwallet.apl.core.chainid.BlockchainConfig; -import com.apollocurrency.aplwallet.apl.core.dao.DBContainerRootTest; +import com.apollocurrency.aplwallet.apl.core.dao.DbContainerRootUserTest; import com.apollocurrency.aplwallet.apl.core.dao.state.keyfactory.LongKey; import com.apollocurrency.aplwallet.apl.data.DbTestData; import com.apollocurrency.aplwallet.apl.data.ShufflingTestData; @@ -22,8 +22,9 @@ import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; + @Tag("slow") -class ShufflingDataTableTest extends DBContainerRootTest { +class ShufflingDataTableTest extends DbContainerRootUserTest { @RegisterExtension static DbExtension extension = new DbExtension(mariaDBContainer, DbTestData.getInMemDbProps(), "db/shuffling.sql", null); diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/shuffling/ShufflingDbRepositoryTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/shuffling/ShufflingDbRepositoryTest.java index 1860f775fa..50afaf3b70 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/shuffling/ShufflingDbRepositoryTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/shuffling/ShufflingDbRepositoryTest.java @@ -4,7 +4,7 @@ package com.apollocurrency.aplwallet.apl.core.dao.state.shuffling; -import com.apollocurrency.aplwallet.apl.core.dao.DBContainerRootTest; +import com.apollocurrency.aplwallet.apl.core.dao.DbContainerRootUserTest; import com.apollocurrency.aplwallet.apl.core.entity.state.shuffling.Shuffling; import com.apollocurrency.aplwallet.apl.core.entity.state.shuffling.ShufflingStage; import com.apollocurrency.aplwallet.apl.data.DbTestData; @@ -28,11 +28,11 @@ public class ShufflingDbRepositoryTest extends ShufflingRepositoryTest { @BeforeAll static void beforeAll() { - log.info("Connect to the db using {}", DBContainerRootTest.class); + log.info("Connect to the db using {}", DbContainerRootUserTest.class); } @RegisterExtension - static DbExtension extension = new DbExtension(DBContainerRootTest.mariaDBContainer, DbTestData.getInMemDbProps(), "db/shuffling.sql", null); + static DbExtension extension = new DbExtension(DbContainerRootUserTest.mariaDBContainer, DbTestData.getInMemDbProps(), "db/shuffling.sql", null); @Override public ShufflingTable createRepository() { diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/shuffling/ShufflingParticipantTableTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/shuffling/ShufflingParticipantTableTest.java index f2836bbb7b..434b6bbd76 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/shuffling/ShufflingParticipantTableTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/shuffling/ShufflingParticipantTableTest.java @@ -4,7 +4,7 @@ package com.apollocurrency.aplwallet.apl.core.dao.state.shuffling; -import com.apollocurrency.aplwallet.apl.core.dao.DBContainerRootTest; +import com.apollocurrency.aplwallet.apl.core.dao.DbContainerRootUserTest; import com.apollocurrency.aplwallet.apl.core.dao.state.keyfactory.LinkKey; import com.apollocurrency.aplwallet.apl.core.entity.state.shuffling.ShufflingParticipant; import com.apollocurrency.aplwallet.apl.data.DbTestData; @@ -24,7 +24,7 @@ import static org.mockito.Mockito.mock; @Tag("slow") -public class ShufflingParticipantTableTest extends DBContainerRootTest { +public class ShufflingParticipantTableTest extends DbContainerRootUserTest { @RegisterExtension static DbExtension extension = new DbExtension(mariaDBContainer, DbTestData.getInMemDbProps(), "db/shuffling.sql", null); diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/smc/SmcContractEventLogTableTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/smc/SmcContractEventLogTableTest.java index b4ee5a4bb2..b2c15ce633 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/smc/SmcContractEventLogTableTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/smc/SmcContractEventLogTableTest.java @@ -22,6 +22,7 @@ import lombok.extern.slf4j.Slf4j; import org.jboss.weld.junit.MockBean; import org.jboss.weld.junit5.EnableWeld; +import org.jboss.weld.junit5.ExplicitParamInjection; import org.jboss.weld.junit5.WeldInitiator; import org.jboss.weld.junit5.WeldSetup; import org.junit.jupiter.api.AfterEach; @@ -48,6 +49,7 @@ @Slf4j @Tag("slow") @EnableWeld +@ExplicitParamInjection class SmcContractEventLogTableTest extends DbContainerBaseTest { @RegisterExtension static TemporaryFolderExtension temporaryFolderExtension = new TemporaryFolderExtension(); @@ -122,11 +124,11 @@ void getEntries() { assertEquals(4, actual.size()); } - @CsvSource(delimiterString = ":", value = { - "Buy:0:-1:4", - "Transfer:0:-1:10", - "Transfer:100:-1:9", - "Transfer:100:10000:8" + @CsvSource(value = { + "Buy,0,-1,4", + "Transfer,0,-1,10", + "Transfer,100,-1,9", + "Transfer,100,10000,8" }) @ParameterizedTest void getEventsByFilter(String name, Integer heightFrom, Integer heightTo, Integer num) { diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/smc/SmcContractTableTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/smc/SmcContractTableTest.java index 92abcac779..7dbcbd24c7 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/smc/SmcContractTableTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/smc/SmcContractTableTest.java @@ -32,6 +32,7 @@ import lombok.extern.slf4j.Slf4j; import org.jboss.weld.junit.MockBean; import org.jboss.weld.junit5.EnableWeld; +import org.jboss.weld.junit5.ExplicitParamInjection; import org.jboss.weld.junit5.WeldInitiator; import org.jboss.weld.junit5.WeldSetup; import org.junit.jupiter.api.AfterEach; @@ -64,6 +65,7 @@ @Slf4j @Tag("slow") @EnableWeld +@ExplicitParamInjection class SmcContractTableTest extends DbContainerBaseTest { @RegisterExtension diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/tagged/TaggedDataTimestampDaoTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/tagged/TaggedDataTimestampDaoTest.java index e1a4bc5db4..a521101180 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/tagged/TaggedDataTimestampDaoTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/dao/state/tagged/TaggedDataTimestampDaoTest.java @@ -105,11 +105,10 @@ class TaggedDataTimestampDaoTest extends DbContainerBaseTest { .addBeans(MockBean.of(mock(AliasService.class), AliasService.class)) .addBeans(MockBean.of(propertiesHolder, PropertiesHolder.class)) .addBeans(MockBean.of(mock(PublicKeyDao.class), PublicKeyDao.class)) - .addBeans(MockBean.of(timeService, TimeConfig.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) .addBeans(MockBean.of(timeService, TimeService.class)) .addBeans(MockBean.of(mock(PrunableLoadingService.class), PrunableLoadingService.class)) .addBeans(MockBean.of(ttd.getTransactionTypeFactory(), TransactionTypeFactory.class)) - .addBeans(MockBean.of(timeService, TimeService.class)) .addBeans(MockBean.of(mock(BlockchainConfig.class), BlockchainConfig.class)) .build(); diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/db/DatabaseManagerTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/db/DatabaseManagerTest.java index d0cd15382a..0283a180f3 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/db/DatabaseManagerTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/db/DatabaseManagerTest.java @@ -4,7 +4,7 @@ package com.apollocurrency.aplwallet.apl.core.db; -import com.apollocurrency.aplwallet.apl.core.dao.DBContainerRootTest; +import com.apollocurrency.aplwallet.apl.core.dao.DbContainerRootUserTest; import com.apollocurrency.aplwallet.apl.core.shard.ShardManagement; import com.apollocurrency.aplwallet.apl.data.DbTestData; import com.apollocurrency.aplwallet.apl.db.updater.ShardAllScriptsDBUpdater; @@ -57,7 +57,7 @@ @Slf4j @Tag("slow") @ExtendWith(MockitoExtension.class) -class DatabaseManagerTest extends DBContainerRootTest { +class DatabaseManagerTest extends DbContainerRootUserTest { private static PropertiesHolder propertiesHolder = new PropertiesHolder(); private DbProperties baseDbProperties; private DatabaseManagerImpl databaseManager; diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/rest/endpoint/AccountEndpointTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/rest/endpoint/AccountEndpointTest.java deleted file mode 100644 index 0b80831896..0000000000 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/rest/endpoint/AccountEndpointTest.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright Ā© 2018-2020 Apollo Foundation - */ - -package com.apollocurrency.aplwallet.apl.core.rest.endpoint; - -import com.apollocurrency.aplwallet.apl.core.chainid.BlockchainConfig; -import com.apollocurrency.aplwallet.apl.core.config.PropertyProducer; -import com.apollocurrency.aplwallet.apl.core.entity.state.order.AskOrder; -import com.apollocurrency.aplwallet.apl.core.rest.converter.Account2FAConverter; -import com.apollocurrency.aplwallet.apl.core.rest.converter.Account2FADetailsConverter; -import com.apollocurrency.aplwallet.apl.core.rest.converter.AccountAssetConverter; -import com.apollocurrency.aplwallet.apl.core.rest.converter.AccountConverter; -import com.apollocurrency.aplwallet.apl.core.rest.converter.AccountCurrencyConverter; -import com.apollocurrency.aplwallet.apl.core.rest.converter.BlockConverter; -import com.apollocurrency.aplwallet.apl.core.rest.filters.Secured2FAInterceptor; -import com.apollocurrency.aplwallet.apl.core.rest.service.AccountStatisticsService; -import com.apollocurrency.aplwallet.apl.core.rest.utils.FirstLastIndexParser; -import com.apollocurrency.aplwallet.apl.core.service.blockchain.Blockchain; -import com.apollocurrency.aplwallet.apl.core.service.state.account.AccountAssetService; -import com.apollocurrency.aplwallet.apl.core.service.state.account.AccountCurrencyService; -import com.apollocurrency.aplwallet.apl.core.service.state.account.AccountPublicKeyService; -import com.apollocurrency.aplwallet.apl.core.service.state.account.AccountService; -import com.apollocurrency.aplwallet.apl.core.service.state.account.impl.AccountAssetServiceImpl; -import com.apollocurrency.aplwallet.apl.core.service.state.account.impl.AccountCurrencyServiceImpl; -import com.apollocurrency.aplwallet.apl.core.service.state.account.impl.AccountPublicKeyServiceImpl; -import com.apollocurrency.aplwallet.apl.core.service.state.account.impl.AccountServiceImpl; -import com.apollocurrency.aplwallet.apl.core.service.state.order.OrderService; -import com.apollocurrency.aplwallet.apl.core.service.state.order.impl.AskOrderServiceImpl; -import com.apollocurrency.aplwallet.apl.core.service.state.qualifier.AskOrderService; -import com.apollocurrency.aplwallet.apl.core.transaction.messages.CCAskOrderPlacementAttachment; -import com.apollocurrency.aplwallet.apl.util.env.dirprovider.DirProvider; -import com.apollocurrency.aplwallet.apl.util.injectable.PropertiesHolder; -import com.apollocurrency.aplwallet.apl.util.service.ElGamalEncryptor; -import com.apollocurrency.aplwallet.apl.util.service.TaskDispatchManager; -import com.apollocurrency.aplwallet.vault.KeyStoreService; -import com.apollocurrency.aplwallet.vault.rest.converter.WalletKeysConverter; -import com.apollocurrency.aplwallet.vault.service.auth.Account2FAService; -import com.apollocurrency.aplwallet.vault.service.auth.TwoFactorAuthService; -import com.apollocurrency.aplwallet.vault.service.auth.TwoFactorAuthServiceImpl; -import lombok.Setter; -import org.jboss.resteasy.mock.MockHttpRequest; -import org.jboss.resteasy.mock.MockHttpResponse; -import org.jboss.weld.junit.MockBean; -import org.jboss.weld.junit5.EnableWeld; -import org.jboss.weld.junit5.WeldInitiator; -import org.jboss.weld.junit5.WeldSetup; -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.ValueSource; - -import jakarta.inject.Inject; -import java.io.IOException; -import java.net.URISyntaxException; - -import static org.jboss.resteasy.mock.MockHttpRequest.post; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; - -@EnableWeld -@Disabled -class AccountEndpointTest extends AbstractEndpointTest { - - private static final String PASSPHRASE = "123456"; - - ElGamalEncryptor elGamal = new ElGamalEncryptor(mock(TaskDispatchManager.class)); - - TwoFactorAuthService twoFactorAuthService = mock(TwoFactorAuthService.class); - - OrderService orderService = mock(AskOrderServiceImpl.class); - - @WeldSetup - public WeldInitiator weld = WeldInitiator.from( - PropertiesHolder.class, PropertyProducer.class, - Account2FAService.class, - AccountController.class, - Secured2FAInterceptor.class, - FirstLastIndexParser.class - ) - .addBeans(MockBean.of(blockchain, Blockchain.class)) - .addBeans(MockBean.of(elGamal, ElGamalEncryptor.class)) - .addBeans(MockBean.of(twoFactorAuthService, TwoFactorAuthService.class, TwoFactorAuthServiceImpl.class)) - .addBeans(MockBean.of(mock(DirProvider.class), DirProvider.class)) - .addBeans(MockBean.of(mock(KeyStoreService.class), KeyStoreService.class)) - .addBeans(MockBean.of(mock(BlockchainConfig.class), BlockchainConfig.class)) - .addBeans(MockBean.of(mock(AccountService.class), AccountService.class, AccountServiceImpl.class)) - .addBeans(MockBean.of(mock(AccountPublicKeyService.class), AccountPublicKeyService.class, AccountPublicKeyServiceImpl.class)) - .addBeans(MockBean.of(mock(AccountAssetService.class), AccountAssetService.class, AccountAssetServiceImpl.class)) - .addBeans(MockBean.of(mock(AccountCurrencyService.class), AccountCurrencyService.class, AccountCurrencyServiceImpl.class)) - .addBeans(MockBean.of(mock(AccountAssetConverter.class), AccountAssetConverter.class)) - .addBeans(MockBean.of(mock(AccountCurrencyConverter.class), AccountCurrencyConverter.class)) - .addBeans(MockBean.of(mock(AccountConverter.class), AccountConverter.class)) - .addBeans(MockBean.of(mock(BlockConverter.class), BlockConverter.class)) - .addBeans(MockBean.of(mock(WalletKeysConverter.class), WalletKeysConverter.class)) - .addBeans(MockBean.of(mock(Account2FADetailsConverter.class), Account2FADetailsConverter.class)) - .addBeans(MockBean.of(mock(Account2FAConverter.class), Account2FAConverter.class)) - .addBeans(MockBean.builder().types(AskOrderServiceImpl.class).creating(orderService).addQualifier(AskOrderService.Literal.INSTANCE).build()) - .addBeans(MockBean.of(mock(AccountStatisticsService.class), AccountStatisticsService.class)) - .build(); - - @Inject - @Setter - private AccountController endpoint; - - @Inject - private Secured2FAInterceptor secured2FAInterceptor; - - @BeforeEach - void setUp() { - super.setUp(); - - dispatcher.getRegistry().addSingletonResource(endpoint); - dispatcher.getProviderFactory().getContainerRequestFilterRegistry().registerSingleton(secured2FAInterceptor); - } - - @AfterEach - void tearDown() { - - } - - @ParameterizedTest(name = "{index} url={arguments}") - @ValueSource(strings = {"/accounts/disable2fa", "/accounts/confirm2fa", "/accounts/delete-key"}) - public void check2FA_withoutMandatoryParameters_thenGetError_2002(String uri) throws URISyntaxException, IOException { - MockHttpRequest request = post(uri); - MockHttpResponse response = sendPostRequest(request, "wrong=value"); - - checkMandatoryParameterMissingErrorCode(response, 2002); - } - - @ParameterizedTest(name = "{index} url={arguments}") - @ValueSource(strings = {"/accounts/disable2fa", "/accounts/confirm2fa"}) - public void check2FA_withBothSecretPhraseAndPassPhrase_thenGetError_2011(String uri) throws URISyntaxException, IOException { - MockHttpRequest request = post(uri); - MockHttpResponse response = sendPostRequest(request, "passphrase=" + PASSPHRASE + "&secretPhrase=" + SECRET + "&code2FA=" + CODE_2FA); - - checkMandatoryParameterMissingErrorCode(response, 2011); - } - - @ParameterizedTest(name = "{index} url={arguments}") - @ValueSource(strings = {"/accounts/disable2fa", "/accounts/confirm2fa", "/accounts/delete-key"}) - public void check2FA_withoutMandatoryParameter_Code2FA_thenGetError_2003(String uri) throws URISyntaxException, IOException { - doReturn(true).when(twoFactorAuthService).isEnabled(ACCOUNT_ID_WITH_SECRET); - MockHttpRequest request = post(uri); - MockHttpResponse response = sendPostRequest(request, "secretPhrase=" + SECRET); - - checkMandatoryParameterMissingErrorCode(response, 2003); - } - -} \ No newline at end of file diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/appdata/DeleteTrimObserverTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/appdata/DeleteTrimObserverTest.java deleted file mode 100644 index ae4d39ad22..0000000000 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/appdata/DeleteTrimObserverTest.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright Ā© 2018-2019 Apollo Foundation - */ -package com.apollocurrency.aplwallet.apl.core.service.appdata; - -import com.apollocurrency.aplwallet.apl.core.app.observer.events.TrimEvent; -import com.apollocurrency.aplwallet.apl.core.db.DatabaseManager; -import com.apollocurrency.aplwallet.apl.core.service.fulltext.FullTextOperationData; -import com.apollocurrency.aplwallet.apl.util.db.TransactionalDataSource; -import com.apollocurrency.aplwallet.apl.core.shard.observer.DeleteOnTrimData; -import com.apollocurrency.aplwallet.apl.util.ThreadUtils; -import com.apollocurrency.aplwallet.apl.util.injectable.PropertiesHolder; -import org.jboss.weld.junit.MockBean; -import org.jboss.weld.junit5.EnableWeld; -import org.jboss.weld.junit5.WeldInitiator; -import org.jboss.weld.junit5.WeldSetup; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.Timeout; - -import jakarta.enterprise.event.Event; -import jakarta.enterprise.util.AnnotationLiteral; -import jakarta.inject.Inject; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.util.Collections; -import java.util.Set; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.mockito.ArgumentMatchers.anyInt; -import static org.mockito.ArgumentMatchers.anyLong; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.Mockito.doNothing; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; - -@Disabled -@Deprecated -class DeleteTrimObserverTest { - DatabaseManager databaseManager = mock(DatabaseManager.class); - PropertiesHolder propertiesHolder = mock(PropertiesHolder.class); - - @WeldSetup - WeldInitiator weld = WeldInitiator.from(DeleteTrimObserver.class) - .addBeans(MockBean.of(databaseManager, DatabaseManager.class)) - .addBeans(MockBean.of(propertiesHolder, PropertiesHolder.class)) - .build(); - - @Inject - Event trimEvent; - @Inject - DeleteTrimObserver observer; - @Inject - Event fullTextOperationDataEvent; - - @BeforeEach - void setUp() { - doReturn(10).when(propertiesHolder).BATCH_COMMIT_SIZE(); - } - - @Test - void sendResetEvent() { - trimEvent.select(new AnnotationLiteral() {}) - .fireAsync(new DeleteOnTrimData(true, Collections.emptySet(), "null")); - assertEquals(0, observer.getDeleteOnTrimDataQueue().size()); - } - - @Test - @Timeout(value = 20) - void sendDeleteEvent() { - assertNotNull(observer); - trimEvent.select(new AnnotationLiteral() {}) - .fireAsync(new DeleteOnTrimData(false, Collections.emptySet(), "some_table")); - while (true) { - int size = observer.getDeleteOnTrimDataQueueSize(); - if (size == 1) { - break; - } - ThreadUtils.sleep(100); - } - } - - @Test - void doNotPerformTrimOnIncorrectData() { - long result = observer.performOneTableDelete(null); - assertEquals(0, result); - - DeleteOnTrimData set1 = new DeleteOnTrimData(true, null, "null"); - result = observer.performOneTableDelete(set1); - assertEquals(0, result); - - DeleteOnTrimData set2 = new DeleteOnTrimData(true, Collections.emptySet(), "null"); - result = observer.performOneTableDelete(set2); - assertEquals(0, result); - } - - @Test - void performDelete() throws Exception { - TransactionalDataSource dataSource = mock(TransactionalDataSource.class); - doReturn(true).when(dataSource).isInTransaction(); - doNothing().when(dataSource).commit(false); - doReturn(dataSource).when(databaseManager).getDataSource(); - - Connection con = mock(Connection.class); - doReturn(con).when(dataSource).getConnection(); - PreparedStatement preparedStatement = mock(PreparedStatement.class); - doReturn(preparedStatement).when(con).prepareStatement(anyString()); - doNothing().doNothing().when(preparedStatement).setLong(anyInt(), anyLong()); - observer = new DeleteTrimObserver(databaseManager, propertiesHolder, fullTextOperationDataEvent); - - DeleteOnTrimData delete = new DeleteOnTrimData(true, Set.of(1739068987193023818L, 9211698109297098287L), "account"); - observer.performOneTableDelete(delete); - - verify(dataSource).commit(false); - verify(preparedStatement, times(2)).executeUpdate(); - } -} \ No newline at end of file diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/blockchain/BlockchainTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/blockchain/BlockchainTest.java index a766464f4a..c19a167c00 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/blockchain/BlockchainTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/blockchain/BlockchainTest.java @@ -4,6 +4,7 @@ package com.apollocurrency.aplwallet.apl.core.service.blockchain; +import com.apollocurrency.aplwallet.apl.core.dao.DbContainerRootUserTest; import com.apollocurrency.aplwallet.apl.core.model.Block; import com.apollocurrency.aplwallet.apl.core.model.EcBlockData; import com.apollocurrency.aplwallet.apl.core.model.Sort; @@ -19,7 +20,6 @@ import com.apollocurrency.aplwallet.apl.core.converter.db.TransactionEntityToModelConverter; import com.apollocurrency.aplwallet.apl.core.converter.db.TransactionModelToEntityConverter; import com.apollocurrency.aplwallet.apl.core.converter.db.TxReceiptRowMapper; -import com.apollocurrency.aplwallet.apl.core.dao.DBContainerRootTest; import com.apollocurrency.aplwallet.apl.core.dao.appdata.TransactionIndexDao; import com.apollocurrency.aplwallet.apl.core.dao.blockchain.BlockDaoImpl; import com.apollocurrency.aplwallet.apl.core.dao.blockchain.TransactionDaoImpl; @@ -101,7 +101,7 @@ @Tag("slow") @EnableWeld @Slf4j -class BlockchainTest extends DBContainerRootTest { +class BlockchainTest extends DbContainerRootUserTest { static DbExtension extension;// init later in manual mode static DbPopulator shard1Populator; static DbPopulator shard2Populator; @@ -795,9 +795,6 @@ void testHasTransactionByFullHashWithHeightInIndex() { assertTrue(hasTransaction); } - - // COMMENTED OUT tests because they still creates Weld container and do not shutdown it!!! -// @Disabled // doesn't work, but creates additional Weld container which it not shutdown later @Test void testHasTransactionByFullHashBytesWhenHeightOfTransactionIsGreaterThanRequestedHeight() { boolean hasTransaction = blockchain.hasTransactionByFullHash(txd.TRANSACTION_7.getFullHash(), 0); diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/fulltext/FullTextSearchServiceTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/fulltext/FullTextSearchServiceTest.java index 467947cab5..80ebde21f0 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/fulltext/FullTextSearchServiceTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/fulltext/FullTextSearchServiceTest.java @@ -98,7 +98,7 @@ class FullTextSearchServiceTest extends DbContainerBaseTest { .addBeans(MockBean.of(extension.getFullTextSearchService(), FullTextSearchService.class)) .addBeans(MockBean.of(mock(BlockIndexService.class), BlockIndexService.class, BlockIndexServiceImpl.class)) .addBeans(MockBean.of(propertiesHolder, PropertiesHolder.class)) - .addBeans(MockBean.of(timeService, TimeConfig.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) .addBeans(MockBean.of(timeService, TimeService.class)) .addBeans(MockBean.of(mock(PublicKeyDao.class), PublicKeyDao.class)) .addBeans(MockBean.of(mock(PrunableLoadingService.class), PrunableLoadingService.class)) diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/prunable/PrunableMessageServiceTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/prunable/PrunableMessageServiceTest.java index f7a4ed61fc..0bd175b15c 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/prunable/PrunableMessageServiceTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/prunable/PrunableMessageServiceTest.java @@ -83,7 +83,7 @@ class PrunableMessageServiceTest extends DbContainerBaseTest { .addBeans(MockBean.of(mock(TaskDispatchManager.class), TaskDispatchManager.class)) .addBeans(MockBean.of(propertiesHolder, PropertiesHolder.class)) .addBeans(MockBean.of(mock(BlockchainConfig.class), BlockchainConfig.class)) - .addBeans(MockBean.of(timeService, TimeConfig.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) .addBeans(MockBean.of(timeService, TimeService.class)) .build(); @Inject diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/DGSObserverTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/DGSObserverTest.java index 0b0a8f131c..95f8fa74f3 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/DGSObserverTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/DGSObserverTest.java @@ -10,7 +10,9 @@ import com.apollocurrency.aplwallet.apl.core.app.observer.events.BlockEvent; import com.apollocurrency.aplwallet.apl.core.app.observer.events.BlockEventBinding; import com.apollocurrency.aplwallet.apl.core.app.observer.events.BlockEventType; +import com.apollocurrency.aplwallet.apl.core.config.TimeConfig; import com.apollocurrency.aplwallet.apl.core.model.Block; +import com.apollocurrency.aplwallet.apl.core.service.appdata.TimeService; import com.apollocurrency.aplwallet.apl.core.service.blockchain.TransactionBuilderFactory; import com.apollocurrency.aplwallet.apl.core.chainid.BlockchainConfig; import com.apollocurrency.aplwallet.apl.core.config.DaoConfig; @@ -90,6 +92,8 @@ public class DGSObserverTest extends DbContainerBaseTest { @RegisterExtension static DbExtension extension = new DbExtension(mariaDBContainer); Blockchain blockchain = mock(Blockchain.class); + TimeConfig config = new TimeConfig(false); + TimeService timeService = new TimeServiceImpl(config.timeSource()); private TransactionTestData td = new TransactionTestData(); @WeldSetup public WeldInitiator weld = WeldInitiator.from( @@ -106,7 +110,7 @@ public class DGSObserverTest extends DbContainerBaseTest { DGSServiceImpl.class, DGSObserver.class, DerivedDbTablesRegistryImpl.class, - TimeServiceImpl.class, BlockDaoImpl.class, + BlockDaoImpl.class, BlockEntityRowMapper.class, BlockEntityToModelConverter.class, BlockModelToEntityConverter.class, TransactionDaoImpl.class, BlockChainInfoServiceImpl.class, AccountServiceImpl.class, GenesisAccounts.class, JdbiHandleFactory.class, JdbiConfiguration.class) @@ -126,6 +130,8 @@ public class DGSObserverTest extends DbContainerBaseTest { .addBeans(MockBean.of(mock(PrunableLoadingService.class), PrunableLoadingService.class)) .addBeans(MockBean.of(td.getTransactionTypeFactory(), TransactionTypeFactory.class)) .addBeans(MockBean.of(mock(BlockchainConfig.class), BlockchainConfig.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) + .addBeans(MockBean.of(timeService, TimeService.class)) .addBeans(MockBean.of(new AccountTable(extension.getDatabaseManager(), mock(Event.class)), AccountTableInterface.class)) .build(); @Inject diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/DGSServiceTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/DGSServiceTest.java index 021eabcd03..80fd813471 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/DGSServiceTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/DGSServiceTest.java @@ -8,6 +8,7 @@ import com.apollocurrency.aplwallet.apl.core.app.GenesisAccounts; import com.apollocurrency.aplwallet.apl.core.chainid.BlockchainConfig; import com.apollocurrency.aplwallet.apl.core.config.JdbiConfiguration; +import com.apollocurrency.aplwallet.apl.core.config.TimeConfig; import com.apollocurrency.aplwallet.apl.core.dao.DbContainerBaseTest; import com.apollocurrency.aplwallet.apl.core.dao.state.account.AccountGuaranteedBalanceTable; import com.apollocurrency.aplwallet.apl.core.dao.state.account.AccountTable; @@ -27,6 +28,7 @@ import com.apollocurrency.aplwallet.apl.core.entity.state.dgs.DGSTag; import com.apollocurrency.aplwallet.apl.core.model.Block; import com.apollocurrency.aplwallet.apl.core.model.Transaction; +import com.apollocurrency.aplwallet.apl.core.service.appdata.TimeService; import com.apollocurrency.aplwallet.apl.core.service.appdata.impl.TimeServiceImpl; import com.apollocurrency.aplwallet.apl.core.service.blockchain.Blockchain; import com.apollocurrency.aplwallet.apl.core.service.blockchain.BlockchainProcessor; @@ -102,13 +104,14 @@ public class DGSServiceTest extends DbContainerBaseTest { @RegisterExtension DbExtension extension = new DbExtension(mariaDBContainer, DbTestData.getDbUrlProps(), "db/dgs-data.sql", "db/schema.sql"); + TimeConfig config = new TimeConfig(false); + TimeService timeService = new TimeServiceImpl(config.timeSource()); Blockchain blockchain = mock(Blockchain.class); AccountTable accountTable = new AccountTable(extension.getDatabaseManager(), mock(Event.class)); @WeldSetup public WeldInitiator weld = WeldInitiator.from( PropertiesHolder.class, - TimeServiceImpl.class, GlobalSyncImpl.class, FullTextConfigImpl.class, DGSPublicFeedbackTable.class, @@ -134,6 +137,8 @@ public class DGSServiceTest extends DbContainerBaseTest { .addBeans(MockBean.of(mock(AccountLedgerService.class), AccountLedgerService.class, AccountLedgerServiceImpl.class)) .addBeans(MockBean.of(mock(FullTextSearchUpdater.class), FullTextSearchUpdater.class, FullTextSearchUpdaterImpl.class)) .addBeans(MockBean.of(mock(BlockchainConfig.class), BlockchainConfig.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) + .addBeans(MockBean.of(timeService, TimeService.class)) .build(); Block lastBlock = mock(Block.class); Block prevBlock = mock(Block.class); diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/PhasingPollServiceTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/PhasingPollServiceTest.java index 088fb1c848..4b8fe54f5d 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/PhasingPollServiceTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/PhasingPollServiceTest.java @@ -164,7 +164,7 @@ public class PhasingPollServiceTest extends DbContainerBaseTest { .addBeans(MockBean.of(mock(AliasService.class), AliasService.class)) .addBeans(MockBean.of(blockDao, BlockDao.class)) .addBeans(MockBean.of(propertiesHolder, PropertiesHolder.class)) - .addBeans(MockBean.of(timeService, TimeConfig.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) .addBeans(MockBean.of(timeService, TimeService.class)) .addBeans(MockBean.of(mock(PrunableLoadingService.class), PrunableLoadingService.class)) .addBeans(MockBean.of(ttd.getTransactionTypeFactory(), TransactionTypeFactory.class)) diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/ReferencedTransactionServiceTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/ReferencedTransactionServiceTest.java index da6903cc9d..eb562c8471 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/ReferencedTransactionServiceTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/ReferencedTransactionServiceTest.java @@ -4,6 +4,8 @@ package com.apollocurrency.aplwallet.apl.core.service.state; +import com.apollocurrency.aplwallet.apl.core.config.TimeConfig; +import com.apollocurrency.aplwallet.apl.core.service.appdata.TimeService; import com.apollocurrency.aplwallet.apl.core.service.blockchain.TransactionBuilderFactory; import com.apollocurrency.aplwallet.apl.core.model.TransactionImpl; import com.apollocurrency.aplwallet.apl.core.chainid.BlockchainConfig; @@ -77,6 +79,8 @@ public class ReferencedTransactionServiceTest extends DbContainerBaseTest { static TemporaryFolderExtension temporaryFolderExtension = new TemporaryFolderExtension(); @RegisterExtension static DbExtension extension = new DbExtension(mariaDBContainer, DbTestData.getDbFileProperties(createPath("targetDb").toAbsolutePath().toString())); + TimeConfig config = new TimeConfig(false); + TimeService timeService = new TimeServiceImpl(config.timeSource()); BlockchainConfig blockchainConfig = Mockito.mock(BlockchainConfig.class); Chain chain = mock(Chain.class); @@ -99,7 +103,7 @@ public class ReferencedTransactionServiceTest extends DbContainerBaseTest { FullTextConfigImpl.class, GlobalSyncImpl.class, DerivedDbTablesRegistryImpl.class, - TimeServiceImpl.class, BlockDaoImpl.class, + BlockDaoImpl.class, BlockEntityRowMapper.class, BlockEntityToModelConverter.class, BlockModelToEntityConverter.class, TransactionDaoImpl.class, ReferencedTransactionService.class, JdbiHandleFactory.class, JdbiConfiguration.class) .addBeans(MockBean.of(extension.getDatabaseManager(), DatabaseManager.class)) @@ -113,8 +117,10 @@ public class ReferencedTransactionServiceTest extends DbContainerBaseTest { .addBeans(MockBean.of(mock(PrunableLoadingService.class), PrunableLoadingService.class)) .addBeans(MockBean.of(td.getTransactionTypeFactory(), TransactionTypeFactory.class)) .addBeans(MockBean.of(mock(PublicKeyDao.class), PublicKeyDao.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) + .addBeans(MockBean.of(timeService, TimeService.class)) .build(); - HeightConfig config = Mockito.mock(HeightConfig.class); + HeightConfig heightConfig = Mockito.mock(HeightConfig.class); @Inject ReferencedTransactionService service; @@ -129,13 +135,13 @@ private static Path createPath(String fileName) { @BeforeEach void setUp() { - doReturn(config).when(blockchainConfig).getCurrentConfig(); + doReturn(heightConfig).when(blockchainConfig).getCurrentConfig(); } @Test void testHasAllReferencedTransaction() { TransactionTestData td = new TransactionTestData(); - doReturn(1000).when(config).getReferencedTransactionHeightSpan(); + doReturn(1000).when(heightConfig).getReferencedTransactionHeightSpan(); boolean hasAll = service.hasAllReferencedTransactions(td.TRANSACTION_0, 1000); assertTrue(hasAll); @@ -144,7 +150,7 @@ void testHasAllReferencedTransaction() { @Test void testHasNotAllReferencedTransactionsWhenHeightIsNotEnough() { TransactionTestData td = new TransactionTestData(); - doReturn(1000).when(config).getReferencedTransactionHeightSpan(); + doReturn(1000).when(heightConfig).getReferencedTransactionHeightSpan(); boolean hasAll = service.hasAllReferencedTransactions(td.TRANSACTION_5, td.TRANSACTION_5.getHeight()); assertFalse(hasAll); @@ -153,7 +159,7 @@ void testHasNotAllReferencedTransactionsWhenHeightIsNotEnough() { @Test void testHasNotAllReferencedTransactionsWhenTransactionHeightIsLessThanHeightOfReferencedTransactions() { TransactionTestData td = new TransactionTestData(); - doReturn(20_000).when(config).getReferencedTransactionHeightSpan(); + doReturn(20_000).when(heightConfig).getReferencedTransactionHeightSpan(); boolean hasAll = service.hasAllReferencedTransactions(td.TRANSACTION_11, td.TRANSACTION_11.getHeight()); assertFalse(hasAll); @@ -161,7 +167,7 @@ void testHasNotAllReferencedTransactionsWhenTransactionHeightIsLessThanHeightOfR @Test void testHasNotAllReferencedTransactionWhenMaximumNumberOfReferencedTransactionsReached() { - doReturn(20_000).when(config).getReferencedTransactionHeightSpan(); + doReturn(20_000).when(heightConfig).getReferencedTransactionHeightSpan(); TransactionTestData td = new TransactionTestData(); boolean hasAll = service.hasAllReferencedTransactions(td.TRANSACTION_9, td.TRANSACTION_9.getHeight()); diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/TaggedDataServiceTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/TaggedDataServiceTest.java index 84537426ec..cd43ce86ca 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/TaggedDataServiceTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/service/state/TaggedDataServiceTest.java @@ -136,7 +136,7 @@ class TaggedDataServiceTest extends DbContainerBaseTest { .addBeans(MockBean.of(mock(AccountService.class), AccountServiceImpl.class, AccountService.class)) .addBeans(MockBean.of(mock(BlockIndexService.class), BlockIndexService.class, BlockIndexServiceImpl.class)) .addBeans(MockBean.of(propertiesHolder, PropertiesHolder.class)) - .addBeans(MockBean.of(timeService, TimeConfig.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) .addBeans(MockBean.of(timeService, TimeService.class)) .addBeans(MockBean.of(mock(PrunableLoadingService.class), PrunableLoadingService.class)) .addBeans(MockBean.of(ttd.getTransactionTypeFactory(), TransactionTypeFactory.class)) diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/shard/ShardEngineTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/shard/ShardEngineTest.java index 259d22e688..9f6c54df23 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/shard/ShardEngineTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/shard/ShardEngineTest.java @@ -18,7 +18,7 @@ import com.apollocurrency.aplwallet.apl.core.converter.db.TransactionEntityToModelConverter; import com.apollocurrency.aplwallet.apl.core.converter.db.TransactionModelToEntityConverter; import com.apollocurrency.aplwallet.apl.core.converter.db.TxReceiptRowMapper; -import com.apollocurrency.aplwallet.apl.core.dao.DBContainerRootTest; +import com.apollocurrency.aplwallet.apl.core.dao.DbContainerRootUserTest; import com.apollocurrency.aplwallet.apl.core.dao.appdata.BlockIndexDao; import com.apollocurrency.aplwallet.apl.core.dao.appdata.ReferencedTransactionDao; import com.apollocurrency.aplwallet.apl.core.dao.appdata.ShardDao; @@ -89,6 +89,7 @@ import com.apollocurrency.aplwallet.apl.extension.TemporaryFolderExtension; import com.apollocurrency.aplwallet.apl.testutil.DbPopulator; import com.apollocurrency.aplwallet.apl.testutil.DbUtils; +import com.apollocurrency.aplwallet.apl.util.Convert2; import com.apollocurrency.aplwallet.apl.util.FileUtils; import com.apollocurrency.aplwallet.apl.util.Zip; import com.apollocurrency.aplwallet.apl.util.ZipImpl; @@ -158,7 +159,7 @@ @Slf4j @Tag("slow") @EnableWeld -class ShardEngineTest extends DBContainerRootTest { +class ShardEngineTest extends DbContainerRootUserTest { static final String GOODS_TABLE_NAME = "goods"; static final String PHASING_POLL_TABLE_NAME = "phasing_poll"; static final String PRUNABLE_MESSAGE_TABLE_NAME = "prunable_message"; @@ -179,7 +180,11 @@ class ShardEngineTest extends DBContainerRootTest { createPath("targetDb").toAbsolutePath().toString()), "db/shard/shard-creation-data.sql"); private final Path dataExportDirPath = createPath("targetDb"); - private final Bean dataExportDir = MockBean.of(dataExportDirPath.toAbsolutePath(), Path.class); + private final Bean dataExportDir = MockBean. builder() + .beanClass(Path.class) + .addQualifier(new NamedLiteral("dataExportDir")) + .creating(dataExportDirPath.toAbsolutePath()) + .build(); private PropertiesHolder propertiesHolder = mock(PropertiesHolder.class); TimeConfig config = new TimeConfig(false); @@ -221,7 +226,6 @@ class ShardEngineTest extends DBContainerRootTest { ); // return the same dir for both CDI components // - dataExportDir.getQualifiers().add(new NamedLiteral("dataExportDir")); // for CsvExporter doReturn(dataExportDirPath).when(dirProvider).getDataExportDir(); // for Zip } @@ -238,21 +242,18 @@ class ShardEngineTest extends DBContainerRootTest { .addBeans(MockBean.of(td.getTransactionTypeFactory(), TransactionTypeFactory.class)) .addBeans(MockBean.of(zip, Zip.class)) .addBeans(dataExportDir) - .addBeans(MockBean.of(timeService, TimeService.class)) .addBeans(MockBean.of(mock(AccountPublicKeyService.class), AccountPublicKeyService.class, AccountPublicKeyServiceImpl.class)) .addBeans(MockBean.of(mock(BlockIndexService.class), BlockIndexService.class, BlockIndexServiceImpl.class)) .addBeans(MockBean.of(translator, CsvEscaperImpl.class)) -// .addBeans(MockBean.of(baseDbProperties, DbProperties.class)) // YL DO NOT REMOVE THAT PLEASE, it can be used for manual testing .addBeans(MockBean.of(mock(AliasService.class), AliasService.class)) .addBeans(MockBean.of(propertiesHolder, PropertiesHolder.class)) - .addBeans(MockBean.of(timeService, TimeConfig.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) .addBeans(MockBean.of(timeService, TimeService.class)) .addBeans(MockBean.of(blockchainConfig, BlockchainConfig.class)) .addBeans(MockBean.of(publicKeyDao, PublicKeyDao.class)) .addBeans(MockBean.of(mock(InMemoryCacheManager.class), InMemoryCacheManager.class)) .addBeans(MockBean.of(mock(TaskDispatchManager.class), TaskDispatchManager.class)) .build(); - @Inject AccountCurrencyTable accountCurrencyTable; @Inject @@ -291,6 +292,7 @@ class ShardEngineTest extends DBContainerRootTest { @BeforeEach void setUp() { shardEngine.prepare(); + Convert2.init("APL", 0); } @AfterEach diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/shard/ShardMigrationExecutorTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/shard/ShardMigrationExecutorTest.java index 6903b2c446..17bdf97d17 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/shard/ShardMigrationExecutorTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/shard/ShardMigrationExecutorTest.java @@ -20,7 +20,7 @@ import com.apollocurrency.aplwallet.apl.core.converter.db.TransactionEntityToModelConverter; import com.apollocurrency.aplwallet.apl.core.converter.db.TransactionModelToEntityConverter; import com.apollocurrency.aplwallet.apl.core.converter.db.TxReceiptRowMapper; -import com.apollocurrency.aplwallet.apl.core.dao.DBContainerRootTest; +import com.apollocurrency.aplwallet.apl.core.dao.DbContainerRootUserTest; import com.apollocurrency.aplwallet.apl.core.dao.appdata.BlockIndexDao; import com.apollocurrency.aplwallet.apl.core.dao.appdata.ReferencedTransactionDao; import com.apollocurrency.aplwallet.apl.core.dao.appdata.ShardDao; @@ -75,6 +75,7 @@ import com.apollocurrency.aplwallet.apl.core.shard.hash.ShardHashCalculatorImpl; import com.apollocurrency.aplwallet.apl.core.shard.helper.CsvExporter; import com.apollocurrency.aplwallet.apl.core.shard.helper.CsvExporterImpl; +import com.apollocurrency.aplwallet.apl.core.shard.helper.csv.CsvEscaper; import com.apollocurrency.aplwallet.apl.core.shard.helper.csv.CsvEscaperImpl; import com.apollocurrency.aplwallet.apl.core.shard.model.ExcludeInfo; import com.apollocurrency.aplwallet.apl.core.shard.model.PrevBlockData; @@ -98,6 +99,7 @@ import lombok.extern.slf4j.Slf4j; import org.jboss.weld.junit.MockBean; import org.jboss.weld.junit5.EnableWeld; +import org.jboss.weld.junit5.ExplicitParamInjection; import org.jboss.weld.junit5.WeldInitiator; import org.jboss.weld.junit5.WeldSetup; import org.jboss.weld.literal.NamedLiteral; @@ -107,6 +109,7 @@ import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; +import org.junit.jupiter.api.io.TempDir; import org.mockito.Mockito; import jakarta.enterprise.inject.spi.Bean; @@ -142,7 +145,8 @@ @Slf4j @Tag("slow") @EnableWeld -class ShardMigrationExecutorTest extends DBContainerRootTest { +@ExplicitParamInjection +class ShardMigrationExecutorTest extends DbContainerRootUserTest { private static final String SHA_512 = "SHA-512"; @RegisterExtension @@ -151,8 +155,12 @@ class ShardMigrationExecutorTest extends DBContainerRootTest { private static BlockchainConfig blockchainConfig = mock(BlockchainConfig.class); Chain chain = mock(Chain.class); private static HeightConfig heightConfig = mock(HeightConfig.class); - private final Path dataExportDirPath = createPath("targetDb"); - private final Bean dataExportDir = MockBean.of(dataExportDirPath.toAbsolutePath(), Path.class); + private final Path dataExportDirPath = createTempPath(); + private final Bean dataExportDir = MockBean. builder() + .beanClass(Path.class) + .addQualifier(new NamedLiteral("dataExportDir")) + .creating(dataExportDirPath.toAbsolutePath()) + .build(); @RegisterExtension static DbExtension extension = new DbExtension(mariaDBContainer); @@ -160,11 +168,13 @@ class ShardMigrationExecutorTest extends DBContainerRootTest { private TaskDispatchManager taskDispatchManager = mock(TaskDispatchManager.class); private DirProvider dirProvider = mock(DirProvider.class); - private Zip zip = new UtilComponentConfig().zip(); TimeConfig config = new TimeConfig(false); + private Zip zip = new UtilComponentConfig().zip(); + TimeConfig config = new TimeConfig(false); TimeService timeService = new TimeServiceImpl(config.timeSource()); private GeneratorService generatorService = mock(GeneratorService.class); private TransactionTestData td = new TransactionTestData(); - + CsvEscaper csvEscaper = new CsvEscaperImpl(); + CsvExporter csvExporter = new CsvExporterImpl(extension.getDatabaseManager(), dataExportDirPath, csvEscaper); @WeldSetup WeldInitiator weld = WeldInitiator.from( BlockchainImpl.class, DaoConfig.class, ReferencedTransactionDao.class, @@ -183,11 +193,11 @@ class ShardMigrationExecutorTest extends DBContainerRootTest { PhasingPollTable.class, FullTextConfigImpl.class, DerivedTablesRegistry.class, - ShardEngineImpl.class, CsvExporterImpl.class, AplAppStatus.class, + ShardEngineImpl.class, AplAppStatus.class, BlockDaoImpl.class, BlockEntityRowMapper.class, BlockEntityToModelConverter.class, BlockModelToEntityConverter.class, TransactionDaoImpl.class, ShardMigrationExecutor.class, - CsvEscaperImpl.class, JdbiHandleFactory.class, JdbiConfiguration.class) + JdbiHandleFactory.class, JdbiConfiguration.class) .addBeans(MockBean.of(blockchainConfig, BlockchainConfig.class)) .addBeans(MockBean.of(extension.getDatabaseManager(), DatabaseManager.class)) .addBeans(MockBean.of(mock(TransactionProcessor.class), TransactionProcessor.class)) @@ -204,13 +214,15 @@ class ShardMigrationExecutorTest extends DBContainerRootTest { .addBeans(MockBean.of(mock(PrunableMessageService.class), PrunableMessageService.class, PrunableMessageServiceImpl.class)) .addBeans(MockBean.of(mock(BlockIndexService.class), BlockIndexService.class, BlockIndexServiceImpl.class)) .addBeans(MockBean.of(mock(AliasService.class), AliasService.class)) - .addBeans(MockBean.of(timeService, TimeConfig.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) .addBeans(MockBean.of(timeService, TimeService.class)) .addBeans(MockBean.of(zip, Zip.class)) .addBeans(MockBean.of(generatorService, GeneratorService.class)) .addBeans(MockBean.of(mock(PrunableLoadingService.class), PrunableLoadingService.class)) .addBeans(MockBean.of(td.getTransactionTypeFactory(), TransactionTypeFactory.class)) .addBeans(MockBean.of(mock(PublicKeyDao.class), PublicKeyDao.class)) + .addBeans(MockBean.of(csvEscaper, CsvEscaper.class)) + .addBeans(MockBean.of(csvExporter, CsvExporter.class)) .build(); @Inject private ShardEngine shardEngine; @@ -243,7 +255,6 @@ class ShardMigrationExecutorTest extends DBContainerRootTest { { // return the same dir for both CDI components - dataExportDir.getQualifiers().add(new NamedLiteral("dataExportDir")); // for CsvExporter doReturn(dataExportDirPath).when(dirProvider).getDataExportDir(); // for Zip doReturn(chain).when(blockchainConfig).getChain(); } @@ -270,8 +281,9 @@ void tearDown() { } @Test - void executeAllOperations() throws IOException { - doReturn(temporaryFolderExtension.newFolder("backup").toPath()).when(dirProvider).getDbDir(); + void executeAllOperations(@TempDir Path tempPath) { +// doReturn(tempPath.resolve("backup").toAbsolutePath()).when(dirProvider).getDbDir(); + doReturn(tempPath).when(dirProvider).getDbDir(); int snapshotBlockHeight = 8000; @@ -424,9 +436,9 @@ private static PropertiesHolder initPropertyHolder() { } - private Path createPath(String fileName) { + private Path createTempPath() { try { - return temporaryFolderExtension.newFolder().toPath().resolve(fileName); + return temporaryFolderExtension.newFolder().toPath(); } catch (IOException e) { throw new RuntimeException(e.toString(), e); } diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/shard/hash/ShardHashCalculatorImplTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/shard/hash/ShardHashCalculatorImplTest.java index 386b0c0268..5e0e783a44 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/shard/hash/ShardHashCalculatorImplTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/shard/hash/ShardHashCalculatorImplTest.java @@ -4,8 +4,10 @@ package com.apollocurrency.aplwallet.apl.core.shard.hash; +import com.apollocurrency.aplwallet.apl.core.config.TimeConfig; import com.apollocurrency.aplwallet.apl.core.model.Block; import com.apollocurrency.aplwallet.apl.core.model.BlockImpl; +import com.apollocurrency.aplwallet.apl.core.service.appdata.TimeService; import com.apollocurrency.aplwallet.apl.core.service.blockchain.TransactionBuilderFactory; import com.apollocurrency.aplwallet.apl.core.chainid.BlockchainConfig; import com.apollocurrency.aplwallet.apl.core.chainid.HeightConfig; @@ -86,6 +88,8 @@ public class ShardHashCalculatorImplTest extends DbContainerBaseTest { @RegisterExtension static DbExtension dbExtension = new DbExtension(mariaDBContainer); BlockchainConfig blockchainConfig = mock(BlockchainConfig.class); + TimeConfig config = new TimeConfig(false); + TimeService timeService = new TimeServiceImpl(config.timeSource()); Chain chain = mock(Chain.class); PropertiesHolder propertiesHolder = mock(PropertiesHolder.class); HeightConfig heightConfig = mock(HeightConfig.class); @@ -101,7 +105,7 @@ public class ShardHashCalculatorImplTest extends DbContainerBaseTest { WeldInitiator weldInitiator = WeldInitiator.from(BlockchainImpl.class, ShardHashCalculatorImpl.class, BlockImpl.class, BlockDaoImpl.class, BlockEntityRowMapper.class, BlockEntityToModelConverter.class, BlockModelToEntityConverter.class, - DerivedDbTablesRegistryImpl.class, TimeServiceImpl.class, GlobalSyncImpl.class, TransactionDaoImpl.class, + DerivedDbTablesRegistryImpl.class, GlobalSyncImpl.class, TransactionDaoImpl.class, DaoConfig.class, TransactionServiceImpl.class, ShardDbExplorerImpl.class, TransactionEntityRowMapper.class, TransactionEntityRowMapper.class, TxReceiptRowMapper.class, PrunableTxRowMapper.class, @@ -122,6 +126,8 @@ public class ShardHashCalculatorImplTest extends DbContainerBaseTest { .addBeans(MockBean.of(mock(PrunableLoadingService.class), PrunableLoadingService.class)) .addBeans(MockBean.of(ttd.getTransactionTypeFactory(), TransactionTypeFactory.class)) .addBeans(MockBean.of(publicKeyDao, PublicKeyDao.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) + .addBeans(MockBean.of(timeService, TimeService.class)) .build(); @Inject diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/shard/helper/CsvWriterReaderDerivedTablesTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/shard/helper/CsvWriterReaderDerivedTablesTest.java index 80128cd4f5..b89a742270 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/shard/helper/CsvWriterReaderDerivedTablesTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/shard/helper/CsvWriterReaderDerivedTablesTest.java @@ -236,8 +236,7 @@ class CsvWriterReaderDerivedTablesTest extends DbContainerBaseTest { .addBeans(MockBean.of(mock(BlockIndexService.class), BlockIndexService.class, BlockIndexServiceImpl.class)) .addBeans(MockBean.of(mock(AccountControlPhasingService.class), AccountControlPhasingService.class)) .addBeans(MockBean.of(propertiesHolder, PropertiesHolder.class)) - .addBeans(MockBean.of(timeService, TimeConfig.class)) - .addBeans(MockBean.of(timeService, TimeService.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) .addBeans(MockBean.of(timeService, TimeService.class)) .addBeans(MockBean.of(peersService, PeersService.class)) .addBeans(MockBean.of(generatorService, GeneratorService.class)) diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/transaction/ChildAccountTransactionTypeApplyTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/transaction/ChildAccountTransactionTypeApplyTest.java index d98d446447..efc0e2405a 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/transaction/ChildAccountTransactionTypeApplyTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/transaction/ChildAccountTransactionTypeApplyTest.java @@ -141,7 +141,7 @@ class ChildAccountTransactionTypeApplyTest extends DbContainerBaseTest { .addBeans(MockBean.of(mock(TaskDispatchManager.class), TaskDispatchManager.class)) .addBeans(MockBean.of(blockchainConfig, BlockchainConfig.class)) .addBeans(MockBean.of(propertiesHolder, PropertiesHolder.class)) - .addBeans(MockBean.of(timeService, TimeConfig.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) .addBeans(MockBean.of(timeService, TimeService.class)) .addBeans(MockBean.of(mock(NtpTime.class), NtpTime.class)) .addBeans(MockBean.of(mock(PhasingPollService.class), PhasingPollService.class, PhasingPollServiceImpl.class)) diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/transaction/messages/PhasingAppendixTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/transaction/messages/PhasingAppendixTest.java index 78d8b396e4..6b09ac3af4 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/transaction/messages/PhasingAppendixTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/transaction/messages/PhasingAppendixTest.java @@ -12,8 +12,8 @@ import com.apollocurrency.aplwallet.apl.core.service.state.PhasingPollService; import com.apollocurrency.aplwallet.apl.util.Constants; import com.apollocurrency.aplwallet.apl.util.exception.AplException; +import lombok.SneakyThrows; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; @@ -21,6 +21,7 @@ import org.mockito.junit.jupiter.MockitoExtension; import static org.junit.jupiter.api.Assertions.assertThrows; + @ExtendWith(MockitoExtension.class) class PhasingAppendixTest { @@ -42,10 +43,7 @@ class PhasingAppendixTest { @BeforeEach void setUp() { -// Mockito.doReturn(lastBlockHeight).when(blockchain).getHeight(); Mockito.doReturn(lastBlockHeight).when(block).getHeight(); -// Mockito.doReturn(currentTime).when(timeService).getEpochTime(); -// Mockito.doReturn(block).when(blockchain).getLastBlock(); phasingAppendix = new PhasingAppendixV2(-1, 360, new PhasingParams((byte) 0, 0, 3, 0, (byte) 0, new long[]{1, 2, 3}), null, null, Byte.MIN_VALUE); validatorv2 = new PhasingAppendixV2Validator(new PhasingAppendixValidator(blockchain, phasingPollService, blockchainConfig), blockchain, timeService); } @@ -56,17 +54,19 @@ void validateFinishHeightAndTimeWhenBothNotFilled() { assertThrows(AplException.NotCurrentlyValidException.class, () -> validatorv2.validateFinishHeightAndTime(-1, -1, phasingAppendix)); } - @Disabled - void validateFinishHeightAndTimeWhenBothFilled() { - assertThrows(AplException.NotCurrentlyValidException.class, () -> validatorv2.validateFinishHeightAndTime(500, 360, phasingAppendix)); + @SneakyThrows + @Test + void validate_HeightAndTimeWhenBothFilled() { + Mockito.doReturn(block).when(blockchain).getLastBlock(); + validatorv2.validateFinishHeightAndTime(500, 360, phasingAppendix); } - @Disabled + @Test void validateFinishHeightAndTimeWhenTimeNull() { assertThrows(AplException.NotCurrentlyValidException.class, () -> validatorv2.validateFinishHeightAndTime(500, null, phasingAppendix)); } - @Disabled + @Test void validateFinishHeightAndTimeWhenHeightNull() { assertThrows(AplException.NotCurrentlyValidException.class, () -> validatorv2.validateFinishHeightAndTime(null, 300, phasingAppendix)); } diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/transaction/types/shuffling/ShufflingCreationTransactionTypeTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/transaction/types/shuffling/ShufflingCreationTransactionTypeTest.java index 4a58928544..bce5f106bc 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/transaction/types/shuffling/ShufflingCreationTransactionTypeTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/transaction/types/shuffling/ShufflingCreationTransactionTypeTest.java @@ -30,7 +30,6 @@ import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; @@ -55,7 +54,6 @@ @EnableWeld @ExtendWith(MockitoExtension.class) -//@Disabled class ShufflingCreationTransactionTypeTest { private static final long SENDER_ID = 1L; diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/transaction/types/smc/AbstractSmcTransactionTypeApplyTest.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/transaction/types/smc/AbstractSmcTransactionTypeApplyTest.java index 873da19640..f1adcdb078 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/transaction/types/smc/AbstractSmcTransactionTypeApplyTest.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/core/transaction/types/smc/AbstractSmcTransactionTypeApplyTest.java @@ -171,7 +171,7 @@ abstract class AbstractSmcTransactionTypeApplyTest extends DbContainerBaseTest { .addBeans(MockBean.of(mock(TaskDispatchManager.class), TaskDispatchManager.class)) .addBeans(MockBean.of(blockchainConfig, BlockchainConfig.class)) .addBeans(MockBean.of(propertiesHolder, PropertiesHolder.class)) - .addBeans(MockBean.of(timeService, TimeConfig.class)) + .addBeans(MockBean.of(config, TimeConfig.class)) .addBeans(MockBean.of(timeService, TimeService.class)) .addBeans(MockBean.of(accountTable, AccountTableInterface.class)) .addBeans(MockBean.of(mock(PhasingPollService.class), PhasingPollService.class, PhasingPollServiceImpl.class)) diff --git a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/testutil/DbPopulator.java b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/testutil/DbPopulator.java index eac963f39f..113b484b42 100644 --- a/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/testutil/DbPopulator.java +++ b/apl-core/src/test/java/com/apollocurrency/aplwallet/apl/testutil/DbPopulator.java @@ -62,8 +62,12 @@ private void loadSqlAndExecute(TransactionalDataSource dataSource, URI file) { try (Connection con = dataSource.getConnection(); Statement stm = con.createStatement()) { while (tokenizer.hasMoreElements()) { - String sqlCommand = tokenizer.nextToken(); - if (sqlCommand.trim().length() != 0) { + String sqlCommand = tokenizer.nextToken().trim(); + if (sqlCommand.equalsIgnoreCase("commit")) { + // process intermediate commit inside script + stm.executeBatch(); + con.commit(); + } else if (sqlCommand.length() != 0) { stm.addBatch(sqlCommand); } } diff --git a/apl-core/src/test/resources/db/phasing-poll-data.sql b/apl-core/src/test/resources/db/phasing-poll-data.sql index f173ce15a5..d0b33f1c4f 100644 --- a/apl-core/src/test/resources/db/phasing-poll-data.sql +++ b/apl-core/src/test/resources/db/phasing-poll-data.sql @@ -1,4 +1,7 @@ TRUNCATE TABLE transaction; +-- Clean txs metadata to not interfere with real transactions in this script from previosly launched tests +TRUNCATE TABLE transaction_shard_index; +TRUNCATE TABLE block_index; TRUNCATE TABLE block; TRUNCATE TABLE phasing_poll; TRUNCATE TABLE phasing_poll_result; @@ -6,6 +9,7 @@ TRUNCATE TABLE phasing_poll_voter; TRUNCATE TABLE phasing_vote; TRUNCATE TABLE phasing_poll_linked_transaction; TRUNCATE TABLE phasing_approval_tx; +TRUNCATE TABLE transaction_shard_index; INSERT INTO block (DB_ID, ID, HEIGHT, VERSION, `TIMESTAMP`, PREVIOUS_BLOCK_ID, TOTAL_AMOUNT, TOTAL_FEE, PAYLOAD_LENGTH, PREVIOUS_BLOCK_HASH, CUMULATIVE_DIFFICULTY, BASE_TARGET, NEXT_BLOCK_ID, GENERATION_SIGNATURE, BLOCK_SIGNATURE, PAYLOAD_HASH, GENERATOR_ID, TIMEOUT) VALUES diff --git a/apl-core/src/test/resources/db/shard/shard-creation-data.sql b/apl-core/src/test/resources/db/shard/shard-creation-data.sql index 902f2c9186..bf9dedb85d 100644 --- a/apl-core/src/test/resources/db/shard/shard-creation-data.sql +++ b/apl-core/src/test/resources/db/shard/shard-creation-data.sql @@ -465,17 +465,17 @@ INSERT into `trim` INSERT INTO prunable_message (db_id ,id ,sender_id , recipient_id ,message , encrypted_message ,message_is_text , encrypted_is_text , is_compressed, block_timestamp, transaction_timestamp, height) VALUES -(1000 ,10 ,-6004096130734886685 ,4882266200596627944 ,null ,X'b63f809f0df0b52f46225b702855c2704653e88ae96cd3dfe2c50cf2e30f747907cbb06267616241aa3aa55c2bf90457b1f275e9c96d42c7cc73cdb229a4fed055ad55245c89348c0d05c757e771996d8d597125aabb471bb25cd2d6e524f1bb9811c40f8259eff2cadf1f48df5c06f3' ,false , true , true , 128 , 120 , 10 ), -(1010 ,20 ,4882266200596627944 ,-6004096130734886685 ,X'48692c20416c69636521' ,X'7ac5c6571b768208df62ee48d3e9c8151abeb0f11858c66d01bdf0b8170b0741b596da28500094b25ed0bb981a41f4dfe489128c4013638d5c8eb143946b6af77b64da893560374409866b0db539ff456bbe56de583181db3ac90d67ee6f16bc0be3faa400e03ef25616b45789fde2ab' ,true , true , true , 140 , 130 , 12 ), -(1020 ,30 ,-6004096130734886685 ,4882266200596627944 ,X'476f6f646279652c20426f6221' ,X'dd39282b7262b9369773b68a851491bbecac1f9b7a6ec078381962b129872c2df5ee11b489ef1733e78c6c54fb6fbcf992071fdb83c4e40f501b8101af76dae9c61c3726d86490c43955644a64aa004d4fa45184e37060247a9a535acdc638ac' ,true , true , false ,158 , 155 , 14 ), -(1030 ,40 ,4882266200596627944 ,-6004096130734886685 ,X'ff3456236527fdab' ,X'dae6440045c8d5bf5c561d5ed9209898654038bb375875e5a50bf0d7bb44bdcaf4c074354638aa0fe97d70d4cb00a6d62c119703b75f63d40a29190feb85ba54d9e8e433e07bfcea5923e0ff59a0e8fd3c9bdd7bcd76a08eb5bcec871c65d06f' ,false , true , false ,160 , 157 , 15 ), -(1040 ,50 ,-6004096130734886685 ,-6004096130734886685 ,null ,X'7f39dde4494bdd8036799dc04d2e7967c3cc40af2fd3a0bd40e5113076713b9f2aa6895b6f848bfafce0fc085c991d0f0883ef75fe8b75e3bcf9308d4de27837958436fb572cf954a3dff1523908d4d09ff85558cb2bcd6ac2bba4967c4ae9c6fca25f4f8313b53b3aec308e02e3f758' ,false , true , true ,180 , 168 , 18 ), -(1050 ,60 ,-5872452783836294400 ,-6004096130734886685 ,X'54657374206d65737361676520746f20416c696365' ,null ,true , false , false ,185 , 178 , 19 ), -(1060 ,70 ,4882266200596627944 ,4882266200596627944 ,null ,X'a8d8a1784144872e909f5c5c0eb75ea01fc45a3a0aba2f04bbe8bc29414ab1d82c617d184baf26d4dab5f6e584326eb7a69649d70906cbae8a8633c59b5357b5f19ab6a1bcc94939b33723c192c734f62886a8ad860d8bcd23398545d04776d33401adbdf1f4b72d669388ade4cc759c' ,false , true , true ,211 , 214 , 22 ), -(1070 ,80 ,-5872452783836294400 ,-6004096130734886685 ,null ,X'11c48e4daac8e8582c9b83715366a0a0b4a7b7ae048d0ad115d22ae973c9c9e255fbb70f1b17168f6d15d877fa4dfd9017c8aedc9211e4576e434fb4b7102776777164f79368343936dd87f65dd58b24f61b075973c7b7c5947e5020bc835baf' ,false , true , false ,212 , 225 , 23 ), -(1080 ,90 ,-5872452783836294400 ,4882266200596627944 ,X'f3ab4384a18c2911' ,X'8de2b1bb43fc8f8ed866f551edae2f688494da7601b914fbc69f2c9c406f537845eab9a324a151d432d82a0e9d989467b1ff559a947fe8a5d0c9fe7bf0e6d0a44504273ff6b92b419abf752401b785157eb320f78e6ac13f75036a799ea47a4c' ,false , false , false ,232 , 230 , 25 ), -(1090 ,100 ,4882266200596627944 ,-5872452783836294400 ,null ,X'a1e59a83f92fe32e2e8bd4d840adca3af792e65499ae3d87068c793daf7f7d238c9c0820c951a9280d78e492eb27fb5961a974d98f63756728cb7a22d658dabbc0c6bf192eea4f41d950cff9f51c12f03f2f853cd9ead88f3c88ebbdb1ae0423dad64b3d2c0801fc1780b41c84fc330e' ,false , false , true ,247 , 242 , 28 ), -(1100 ,110 ,-6004096130734886685 ,-5872452783836294400 ,X'48656c6c6f20436875636b' ,null ,true , false , false ,259 , 254 , 30 ) +(1000 ,10 ,-6004096130734886685 ,4882266200596627944 ,null ,X'b63f809f0df0b52f46225b702855c2704653e88ae96cd3dfe2c50cf2e30f747907cbb06267616241aa3aa55c2bf90457b1f275e9c96d42c7cc73cdb229a4fed055ad55245c89348c0d05c757e771996d8d597125aabb471bb25cd2d6e524f1bb9811c40f8259eff2cadf1f48df5c06f3' ,false , true , true , 128 , UNIX_TIMESTAMP(), 541839 ), +(1010 ,20 ,4882266200596627944 ,-6004096130734886685 ,X'48692c20416c69636521' ,X'7ac5c6571b768208df62ee48d3e9c8151abeb0f11858c66d01bdf0b8170b0741b596da28500094b25ed0bb981a41f4dfe489128c4013638d5c8eb143946b6af77b64da893560374409866b0db539ff456bbe56de583181db3ac90d67ee6f16bc0be3faa400e03ef25616b45789fde2ab' ,true , true , true , 140 , UNIX_TIMESTAMP(), 541859 ), +(1020 ,30 ,-6004096130734886685 ,4882266200596627944 ,X'476f6f646279652c20426f6221' ,X'dd39282b7262b9369773b68a851491bbecac1f9b7a6ec078381962b129872c2df5ee11b489ef1733e78c6c54fb6fbcf992071fdb83c4e40f501b8101af76dae9c61c3726d86490c43955644a64aa004d4fa45184e37060247a9a535acdc638ac' ,true , true , false ,158 , UNIX_TIMESTAMP(), 541869 ), +(1030 ,40 ,4882266200596627944 ,-6004096130734886685 ,X'ff3456236527fdab' ,X'dae6440045c8d5bf5c561d5ed9209898654038bb375875e5a50bf0d7bb44bdcaf4c074354638aa0fe97d70d4cb00a6d62c119703b75f63d40a29190feb85ba54d9e8e433e07bfcea5923e0ff59a0e8fd3c9bdd7bcd76a08eb5bcec871c65d06f' ,false , true , false ,160 , UNIX_TIMESTAMP(), 541879 ), +(1040 ,50 ,-6004096130734886685 ,-6004096130734886685 ,null ,X'7f39dde4494bdd8036799dc04d2e7967c3cc40af2fd3a0bd40e5113076713b9f2aa6895b6f848bfafce0fc085c991d0f0883ef75fe8b75e3bcf9308d4de27837958436fb572cf954a3dff1523908d4d09ff85558cb2bcd6ac2bba4967c4ae9c6fca25f4f8313b53b3aec308e02e3f758' ,false , true , true ,180 , UNIX_TIMESTAMP(), 541889 ), +(1050 ,60 ,-5872452783836294400 ,-6004096130734886685 ,X'54657374206d65737361676520746f20416c696365' ,null ,true , false , false ,185 , UNIX_TIMESTAMP(), 541899 ), +(1060 ,70 ,4882266200596627944 ,4882266200596627944 ,null ,X'a8d8a1784144872e909f5c5c0eb75ea01fc45a3a0aba2f04bbe8bc29414ab1d82c617d184baf26d4dab5f6e584326eb7a69649d70906cbae8a8633c59b5357b5f19ab6a1bcc94939b33723c192c734f62886a8ad860d8bcd23398545d04776d33401adbdf1f4b72d669388ade4cc759c' ,false , true , true ,211 , UNIX_TIMESTAMP(), 541939 ), +(1070 ,80 ,-5872452783836294400 ,-6004096130734886685 ,null ,X'11c48e4daac8e8582c9b83715366a0a0b4a7b7ae048d0ad115d22ae973c9c9e255fbb70f1b17168f6d15d877fa4dfd9017c8aedc9211e4576e434fb4b7102776777164f79368343936dd87f65dd58b24f61b075973c7b7c5947e5020bc835baf' ,false , true , false ,212 , UNIX_TIMESTAMP(), 541949 ), +(1080 ,90 ,-5872452783836294400 ,4882266200596627944 ,X'f3ab4384a18c2911' ,X'8de2b1bb43fc8f8ed866f551edae2f688494da7601b914fbc69f2c9c406f537845eab9a324a151d432d82a0e9d989467b1ff559a947fe8a5d0c9fe7bf0e6d0a44504273ff6b92b419abf752401b785157eb320f78e6ac13f75036a799ea47a4c' ,false , false , false ,232 , UNIX_TIMESTAMP(), 541959 ), +(1090 ,100 ,4882266200596627944 ,-5872452783836294400 ,null ,X'a1e59a83f92fe32e2e8bd4d840adca3af792e65499ae3d87068c793daf7f7d238c9c0820c951a9280d78e492eb27fb5961a974d98f63756728cb7a22d658dabbc0c6bf192eea4f41d950cff9f51c12f03f2f853cd9ead88f3c88ebbdb1ae0423dad64b3d2c0801fc1780b41c84fc330e' ,false , false , true ,247 , UNIX_TIMESTAMP(), 541969 ), +(1100 ,110 ,-6004096130734886685 ,-5872452783836294400 ,X'48656c6c6f20436875636b' ,null ,true , false , false ,259 , UNIX_TIMESTAMP(), 541979 ) ; INSERT INTO phasing_approval_tx (db_id , phasing_tx, approved_tx, height ) VALUES diff --git a/apl-core/src/test/resources/test-env.properties b/apl-core/src/test/resources/test-env.properties index 30d0218f84..157a989aa1 100644 --- a/apl-core/src/test/resources/test-env.properties +++ b/apl-core/src/test/resources/test-env.properties @@ -2,5 +2,5 @@ # Copyright (c) 2018-2021. Apollo Foundation. # #comment out next property to increase the verbose level -#apl-test.env=quiet -apl-test.env=verbose +apl-test.env=quiet +#apl-test.env=verbose diff --git a/apl-db-updater/pom.xml b/apl-db-updater/pom.xml index 0f9449eefa..b9e9309a50 100644 --- a/apl-db-updater/pom.xml +++ b/apl-db-updater/pom.xml @@ -23,6 +23,18 @@ + + org.flywaydb + flyway-mysql + + + com.h2database + h2 + + + org.mariadb.jdbc + mariadb-java-client + org.slf4j @@ -38,6 +50,16 @@ weld-junit5 test + + org.testcontainers + mariadb + test + + + org.testcontainers + junit-jupiter + test + diff --git a/apl-db-updater/src/main/java/com/apollocurrency/aplwallet/apl/db/updater/AplDBUpdater.java b/apl-db-updater/src/main/java/com/apollocurrency/aplwallet/apl/db/updater/AplDBUpdater.java index e4fbbe3939..4afc156612 100644 --- a/apl-db-updater/src/main/java/com/apollocurrency/aplwallet/apl/db/updater/AplDBUpdater.java +++ b/apl-db-updater/src/main/java/com/apollocurrency/aplwallet/apl/db/updater/AplDBUpdater.java @@ -8,6 +8,7 @@ @Slf4j public class AplDBUpdater implements DBUpdater { + @Override public void update(MigrationParams params) { Flyway flyway = Flyway.configure() diff --git a/apl-db-updater/src/main/java/com/apollocurrency/aplwallet/apl/db/updater/ShardAllScriptsDBUpdater.java b/apl-db-updater/src/main/java/com/apollocurrency/aplwallet/apl/db/updater/ShardAllScriptsDBUpdater.java index 24b153f890..9116eb11f2 100644 --- a/apl-db-updater/src/main/java/com/apollocurrency/aplwallet/apl/db/updater/ShardAllScriptsDBUpdater.java +++ b/apl-db-updater/src/main/java/com/apollocurrency/aplwallet/apl/db/updater/ShardAllScriptsDBUpdater.java @@ -13,10 +13,11 @@ public void update(MigrationParams migrationParams) { Flyway flyway = Flyway.configure() .dataSource(migrationParams.getDbUrl(), migrationParams.getUser(), migrationParams.getPassword()) - .locations("classpath:db/migration/" + migrationParams.getDbType() +"/shard") + .locations("classpath:db/migration/" + migrationParams.getDbType().toLowerCase() + "/shard") .load(); MigrateResult migrateResult = flyway.migrate(); + log.info("ShardAddConstrainsDBUpdater: flyway version: {},", migrateResult.flywayVersion); for (MigrateOutput migration : migrateResult.migrations) { log.info("Migration version: {}, path: {}", migration.version, migration.filepath); diff --git a/apl-db-updater/src/main/java/com/apollocurrency/aplwallet/apl/db/updater/ShardInitDBUpdater.java b/apl-db-updater/src/main/java/com/apollocurrency/aplwallet/apl/db/updater/ShardInitDBUpdater.java index 138a1b63c0..58005fac00 100644 --- a/apl-db-updater/src/main/java/com/apollocurrency/aplwallet/apl/db/updater/ShardInitDBUpdater.java +++ b/apl-db-updater/src/main/java/com/apollocurrency/aplwallet/apl/db/updater/ShardInitDBUpdater.java @@ -13,7 +13,7 @@ public void update(MigrationParams migrationParams) { Flyway flyway = Flyway.configure() .dataSource(migrationParams.getDbUrl(), migrationParams.getUser(), migrationParams.getPassword()) - .locations("classpath:db/migration/" + migrationParams.getDbType() + "/shard") + .locations("classpath:db/migration/" + migrationParams.getDbType().toLowerCase() + "/shard") .target(MigrationVersion.fromVersion("1.0")) .load(); diff --git a/apl-db-updater/src/main/resources/db/migration/mariadb/shard/V1_1__Add_constraints.sql b/apl-db-updater/src/main/resources/db/migration/mariadb/shard/V1_1__Add_constraints.sql index 5778f0a35a..45b27bbbca 100644 --- a/apl-db-updater/src/main/resources/db/migration/mariadb/shard/V1_1__Add_constraints.sql +++ b/apl-db-updater/src/main/resources/db/migration/mariadb/shard/V1_1__Add_constraints.sql @@ -5,7 +5,7 @@ ALTER TABLE `block` ADD CONSTRAINT primary_key_block_id PRIMARY KEY (`id`); ALTER TABLE `block` - ADD CONSTRAINT block_timestamp_idx unique (`TIMESTAMP` DESC); + ADD CONSTRAINT block_timestamp_idx unique (`TIMESTAMP`/* DESC*/); -- DESC is NOT permitted by RocksDb engine now ALTER TABLE `block` ADD CONSTRAINT block_height_idx unique (`height`); @@ -28,7 +28,7 @@ CREATE INDEX IF NOT EXISTS transaction_sender_id_idx ON `transaction` (`sender_i CREATE INDEX IF NOT EXISTS transaction_recipient_id_idx ON `transaction` (`recipient_id`); -CREATE INDEX IF NOT EXISTS transaction_block_timestamp_idx ON `transaction` (`block_timestamp` DESC); +CREATE INDEX IF NOT EXISTS transaction_block_timestamp_idx ON `transaction` (`block_timestamp`/* DESC*/); -- DESC is NOT permitted by RocksDb engine now ALTER TABLE `transaction` DROP CONSTRAINT IF EXISTS transaction_id_idx; diff --git a/apl-db-updater/src/test/java/com/apollocurrency/aplwallet/apl/db/DbContainerBaseTest.java b/apl-db-updater/src/test/java/com/apollocurrency/aplwallet/apl/db/DbContainerBaseTest.java new file mode 100644 index 0000000000..5b1964238b --- /dev/null +++ b/apl-db-updater/src/test/java/com/apollocurrency/aplwallet/apl/db/DbContainerBaseTest.java @@ -0,0 +1,33 @@ +package com.apollocurrency.aplwallet.apl.db; + +import lombok.extern.slf4j.Slf4j; +import org.testcontainers.containers.GenericContainer; +import org.testcontainers.containers.MariaDBContainer; +import org.testcontainers.containers.output.Slf4jLogConsumer; +import org.testcontainers.junit.jupiter.Container; + +@Slf4j +public abstract class DbContainerBaseTest { + + @Container + public static final GenericContainer mariaDBContainer; + + static { + mariaDBContainer = new MariaDBContainer(MariaDBConfigs.DOCKER_IMAGE_NAME_VERSION) + .withDatabaseName("testdb") + .withUsername("testuser") + .withPassword("testpass") + .withExposedPorts(3306) + .withReuse(true) + .withNetwork(null) + .withLabel("com.apollocurrency.aplwallet.apl", "testcontainer") + .withLogConsumer(new Slf4jLogConsumer(log)) + .withCommand(MariaDBConfigs.getEnvs()) + ; + + mariaDBContainer.start(); + + Runtime.getRuntime().addShutdownHook(new Thread(mariaDBContainer::stop)); + } + +} diff --git a/apl-db-updater/src/test/java/com/apollocurrency/aplwallet/apl/db/MariaDBConfigs.java b/apl-db-updater/src/test/java/com/apollocurrency/aplwallet/apl/db/MariaDBConfigs.java new file mode 100644 index 0000000000..9e3fd5190a --- /dev/null +++ b/apl-db-updater/src/test/java/com/apollocurrency/aplwallet/apl/db/MariaDBConfigs.java @@ -0,0 +1,52 @@ +package com.apollocurrency.aplwallet.apl.db; + +public class MariaDBConfigs { + + public static final String DOCKER_IMAGE_NAME_VERSION = "mariadb:10.11"; + + private static String[] envs; + + static { + envs = new String[]{ + "--default-storage-engine=rocksdb", + "--transaction-isolation=READ-COMMITTED", + + "--max_connections=10000", + "--max_allowed_packet=16M", + "--max_heap_table_size=16M", + "--tmp_table_size=4M", + "--key_buffer_size=2M", + "--read_buffer_size=2M", + "--sort_buffer_size=2M", + "--table_open_cache=1048", + "--table_open_cache_instances=3", + + "--thread_stack=256K", + "--wait_timeout=200", + "--table_open_cache_instances=1", +// + "--rocksdb_compaction_sequential_deletes_count_sd=1", + "--rocksdb_compaction_sequential_deletes=199999", + "--rocksdb_compaction_sequential_deletes_window=200000", +//// +//// "--rocksdb_max_open_files=300", +//// "--rocksdb_max_background_jobs=8", +//// "--rocksdb_table_cache_numshardbits=6", + "--rocksdb_block_size=16384", +// "--rocksdb_default_cf_options=write_buffer_size=256m;target_file_size_base=32m;max_bytes_for_level_base=512m;max_write_buffer_number=4;level0_file_num_compaction_trigger=4;level0_slowdown_writes_trigger=20;level0_stop_writes_trigger=30;max_write_buffer_number=4;block_based_table_factory={cache_index_and_filter_blocks=1;filter_policy=bloomfilter:10:false;whole_key_filtering=0};level_compaction_dynamic_level_bytes=true;optimize_filters_for_hits=true;memtable_prefix_bloom_size_ratio=0.05;prefix_extractor=capped:12;compaction_pri=kMinOverlappingRatio;compression=kLZ4Compression;bottommost_compression=kLZ4Compression;compression_opts=-14:4:0", + "--rocksdb_max_subcompactions=4", + "--rocksdb_compaction_readahead_size=16m", + + "--rocksdb_use_direct_reads=ON", + "--rocksdb_use_direct_io_for_flush_and_compaction=ON" + +// don't work. +// "--sql_log_bin=OFF" + + }; + } + + public static String[] getEnvs() { + return envs; + } +} diff --git a/apl-db-updater/src/test/java/com/apollocurrency/aplwallet/apl/db/updater/ShardAllScriptsDBUpdaterTest.java b/apl-db-updater/src/test/java/com/apollocurrency/aplwallet/apl/db/updater/ShardAllScriptsDBUpdaterTest.java new file mode 100644 index 0000000000..9a5f2f1f4d --- /dev/null +++ b/apl-db-updater/src/test/java/com/apollocurrency/aplwallet/apl/db/updater/ShardAllScriptsDBUpdaterTest.java @@ -0,0 +1,93 @@ +package com.apollocurrency.aplwallet.apl.db.updater; + +import com.apollocurrency.aplwallet.apl.db.DbContainerBaseTest; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; +import org.mariadb.jdbc.MariaDbDataSource; + +import java.nio.file.Path; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.*; + +@Tag("slow") +@Slf4j +class ShardAllScriptsDBUpdaterTest extends DbContainerBaseTest { + + public static final String mariadbTestUrl = "jdbc:mariadb://localhost:3306/testdb"; + public static final String mariadbUserName = "testuser"; + public static final String mariadbUserPass = "testpass"; + + private ShardAllScriptsDBUpdater dbUpdater; + private String dbType; + MariaDbDataSource mariaDbDataSource; + private List tablesToDrop = List.of("block", "transaction", "option", "flyway_schema_history"); + + @BeforeAll + static void beforeAll() { + log.info("Connect to the MariaDb using {}", mariadbTestUrl); + } + + @BeforeEach + void setUp() { + } + + @SneakyThrows + @AfterEach + void tearDown() { + if (dbType.equalsIgnoreCase("mariadb")) { + int dropped = 0; + mariaDbDataSource = new MariaDbDataSource(mariadbTestUrl); + mariaDbDataSource.setUser(mariadbUserName); + mariaDbDataSource.setPassword(mariadbUserPass); + try (Connection con = mariaDbDataSource.getConnection()) { + dropped = cleanUp(con, tablesToDrop); + } catch (Exception e) { + log.error("Connect error to MariaDb", e); + } + assertEquals(4, dropped); + } + } + + @Test + void migrateH2(@TempDir Path tempDir) { + dbType = "h2"; + MigrationParams params = new MigrationParams( + "jdbc:h2:file:/" + tempDir.toAbsolutePath(), dbType, "test", "test"); + dbUpdater = new ShardAllScriptsDBUpdater(); + dbUpdater.update(params); + } + + @Test + void migrateMariaDb() { + dbType = "mariadb"; + MigrationParams params = new MigrationParams( + mariadbTestUrl, dbType, mariadbUserName, mariadbUserPass); + dbUpdater = new ShardAllScriptsDBUpdater(); + dbUpdater.update(params); + } + + public int cleanUp(Connection connection, List tables) { + int deletedTransactionCount = 0; + for (String tableName : tables) { + try (PreparedStatement statement = connection.prepareStatement( + "DROP TABLE IF EXISTS `" + tableName.toLowerCase() + "`")) { + statement.executeUpdate(); + deletedTransactionCount++; + } catch (SQLException e) { + log.error("Unable to delete db entries! ", e); + return deletedTransactionCount; + } + } + return deletedTransactionCount; + } +} \ No newline at end of file diff --git a/apl-updater/pom.xml b/apl-updater/pom.xml index 01a7a7ac8a..81578f9d30 100644 --- a/apl-updater/pom.xml +++ b/apl-updater/pom.xml @@ -104,8 +104,11 @@ maven-surefire-plugin + + --add-opens java.base/sun.security.x509=ALL-UNNAMED + - + diff --git a/apl-updater/src/main/java/com/apollocurrency/aplwallet/apl/updater/UpdaterConstants.java b/apl-updater/src/main/java/com/apollocurrency/aplwallet/apl/updater/UpdaterConstants.java index 4b6c4a9cbc..3a11ba6218 100644 --- a/apl-updater/src/main/java/com/apollocurrency/aplwallet/apl/updater/UpdaterConstants.java +++ b/apl-updater/src/main/java/com/apollocurrency/aplwallet/apl/updater/UpdaterConstants.java @@ -15,27 +15,29 @@ @Vetoed public class UpdaterConstants { // Platform dependent updater constants - //TODO: check update scripts executions public static final String WINDOWS_UPDATE_SCRIPT_PATH = "updater\\update.vbs"; public static final String LINUX_UPDATE_SCRIPT_PATH = "updater/update.sh"; public static final String MAC_OS_UPDATE_SCRIPT_PATH = "updater/update.sh"; - public static final String TEMP_DIR_PREFIX = "Apollo-update"; - public static final String DOWNLOADED_FILE_NAME = "Apollo.jar"; public static final int MAX_SHUTDOWN_TIMEOUT = 5; //seconds // Certificate constants (AuthorityCheckerImpl) - public static final String CERTIFICATE_DIRECTORY = "conf/certs"; + public static final String CERTIFICATE_DIRECTORY = "certs"; public static final String FIRST_DECRYPTION_CERTIFICATE_PREFIX = "1_"; public static final String SECOND_DECRYPTION_CERTIFICATE_PREFIX = "2_"; public static final String CERTIFICATE_SUFFIX = ".crt"; - public static final String INTERMEDIATE_CERTIFICATE_NAME = "intermediate" + CERTIFICATE_SUFFIX; - public static final String CA_CERTIFICATE_NAME = "rootCA" + CERTIFICATE_SUFFIX; - public static final String CA_CERTIFICATE_URL = "https://raw.githubusercontent.com/ApolloFoundation/Apollo/master/apl-conf/src/main/resources/conf/certs/" + CA_CERTIFICATE_NAME; + public static final String INTERMEDIATE_CERTIFICATE_NAME = "CAintermediate" + CERTIFICATE_SUFFIX; + public static final String CA_CERTIFICATE_NAME = "CAroot" + CERTIFICATE_SUFFIX; + public static final String CA_CERTIFICATE_URL = + "https://raw.githubusercontent.com/ApolloFoundation/Apollo/master/apl-updater/src/main/resources/certs/" + + CA_CERTIFICATE_NAME; private static final Logger LOG = getLogger(UpdaterConstants.class); private static final Properties updaterProperties; // run tools for update scripts - public static final String WINDOWS_RUN_TOOL_PATH = getPropertyOrDefault("updater.platformDependentUpdater.windowsRunToolPath", "cscript.exe"); - public static final String LINUX_RUN_TOOL_PATH = getPropertyOrDefault("updater.platformDependentUpdater.linuxRunToolPath", "/bin/bash"); - public static final String MAC_OS_RUN_TOOL_PATH = getPropertyOrDefault("updater.platformDependentUpdater.macOSRunToolPath", "/bin/bash"); + public static final String WINDOWS_RUN_TOOL_PATH = + getPropertyOrDefault("updater.platformDependentUpdater.windowsRunToolPath", "cscript.exe"); + public static final String LINUX_RUN_TOOL_PATH = + getPropertyOrDefault("updater.platformDependentUpdater.linuxRunToolPath", "/bin/bash"); + public static final String MAC_OS_RUN_TOOL_PATH = + getPropertyOrDefault("updater.platformDependentUpdater.macOSRunToolPath", "/bin/bash"); // Downloader constants public static final int DOWNLOAD_ATTEMPTS = getIntPropertyOrDefault("updater.downloader.numberOfAttempts", 10); public static final int NEXT_ATTEMPT_TIMEOUT = getIntPropertyOrDefault("updater.downloader.attemptTimeout", 60); @@ -45,9 +47,8 @@ public class UpdaterConstants { static { updaterProperties = new Properties(); - //TODO: check it, there's no "conf" directory anymore ClassLoader classloader = Thread.currentThread().getContextClassLoader(); - try (InputStream is = classloader.getResourceAsStream("conf/updater.properties")) { + try (InputStream is = classloader.getResourceAsStream("updater.properties")) { updaterProperties.load(is); } catch (Throwable e) { LOG.error("Unable to load Updater config", e); diff --git a/apl-updater/src/main/java/com/apollocurrency/aplwallet/apl/updater/UpdaterUtil.java b/apl-updater/src/main/java/com/apollocurrency/aplwallet/apl/updater/UpdaterUtil.java index 9871f8589d..7c74a0313f 100644 --- a/apl-updater/src/main/java/com/apollocurrency/aplwallet/apl/updater/UpdaterUtil.java +++ b/apl-updater/src/main/java/com/apollocurrency/aplwallet/apl/updater/UpdaterUtil.java @@ -1,5 +1,5 @@ /* - * Copyright Ā© 2018 Apollo Foundation + * Copyright Ā© 2018-2022 Apollo Foundation */ package com.apollocurrency.aplwallet.apl.updater; @@ -49,35 +49,31 @@ private UpdaterUtil() { public static void init(boolean useDebugCerts) { try { + // using certificated from apl-updater module: apl-updater/src/main/resources if (!useDebugCerts) { - Certificate certificate1_1 = readCertificate("certs/1_1.crt"); Certificate certificate1_2 = readCertificate("certs/1_2.crt"); Certificate certificate1_3 = readCertificate("certs/1_3.crt"); - Certificate certificate1_4 = readCertificate("certs/1_4.crt"); Certificate certificate2_1 = readCertificate("certs/2_1.crt"); Certificate certificate2_2 = readCertificate("certs/2_2.crt"); Certificate certificate2_3 = readCertificate("certs/2_3.crt"); certificates.add(certificate1_1); certificates.add(certificate1_2); certificates.add(certificate1_3); - certificates.add(certificate1_4); certificates.add(certificate2_1); certificates.add(certificate2_2); certificates.add(certificate2_3); certificatePairs.add(new CertificatePair(certificate2_1, certificate1_1)); certificatePairs.add(new CertificatePair(certificate2_1, certificate1_2)); certificatePairs.add(new CertificatePair(certificate2_1, certificate1_3)); - certificatePairs.add(new CertificatePair(certificate2_1, certificate1_4)); certificatePairs.add(new CertificatePair(certificate2_2, certificate1_1)); certificatePairs.add(new CertificatePair(certificate2_2, certificate1_2)); certificatePairs.add(new CertificatePair(certificate2_2, certificate1_3)); - certificatePairs.add(new CertificatePair(certificate2_2, certificate1_4)); certificatePairs.add(new CertificatePair(certificate2_3, certificate1_1)); certificatePairs.add(new CertificatePair(certificate2_3, certificate1_2)); certificatePairs.add(new CertificatePair(certificate2_3, certificate1_3)); - certificatePairs.add(new CertificatePair(certificate2_3, certificate1_4)); } else { + // debug certificates to test local update easily without need to double decrypt url using real keys Certificate certificate1_1 = readCertificate("debug-certs/1_1.crt"); Certificate certificate2_1 = readCertificate("debug-certs/2_1.crt"); certificates.add(certificate1_1); @@ -134,7 +130,7 @@ public static String getStringRepresentation(Certificate cert) { } public static Set readCertificates(String directory, String prefix, String suffix) { - return readCertificates(directory, suffix, prefix); + return readCertificates(directory, suffix, new String[] {prefix}); } public static Set readCertificates(String directory, String suffix, String... prefixes) { diff --git a/apl-updater/src/main/resources-prod/certs/1_1.crt b/apl-updater/src/main/resources-prod/certs/1_1.crt deleted file mode 100644 index 11e4a2c18e..0000000000 --- a/apl-updater/src/main/resources-prod/certs/1_1.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGZTCCBE2gAwIBAgICECcwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDMzNFoX -DTIyMDUxMzE2NDMzNFowgYoxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ0w -CwYDVQQHDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTExDMRgwFgYDVQQD -DA9BbmRyZXcgQm95YXJza3kxKDAmBgkqhkiG9w0BCQEWGWFuZHJldy5ib3lhcnNr -aUBnbWFpbC5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCV0/1a -bFOaNOLWU5NqRhV4Fn0kY5lLZ9WWvktLfv6ayBoIV4z95msGdAac2YhDdRC9bE7i -sPiz181qknwmUBq1js1wJotEhXuLf2CI5l8t3ENjEzQS7NJKFmusai6yKdFloL+x -KRJle/jGEX3ox59hiHlwzqZrWszO2nI+kNOWcFbzcReJEfnpj3HW3TeC1y0SL97d -8b79i63u/Fk7Y9IpWIsNgU+h8PinqP+wCeciN0DfbdmVQrNPeNGLl2lAGHP+qstr -tOdXxJxJG5qyi9F6Upaza8J1QGxpPJaa3v9LwcUQdV/hVefDRXntsvPdRMEFwUpo -zKiV1IOTh6Tvp/3bJnS+BHBWdOdcLMSjE3v51Igs3BSf5OXeMxYyMfSCOsfPItYH -aWfDESp6Yp9LkhXp9ED4vltVtLr9ZRx7QVm9ejhTtwLCjqdwhFPPKS4xZKNx8LbH -9UpjJegVddYbLuRbOA1AgvFxs/DlQcD8dLytFPgyNQncsmuLa2jW9bqpKH97ShQM -XeneAkZ8MbexV4sq16Rzza+YM4btHyau54zbOf8tToODzHGeo008JDnNUnLIav7S -UrD0VSfSEapSwkfxfKWJxirDJwVFSWaUzyiYQcyodkgL+qvu/FIEd+ez806mr/1+ -zTr66P8iKIJgx9N+tL9AmLC3fQzbtxtobaehvQIDAQABo4HRMIHOMAkGA1UdEwQC -MAAwEQYJYIZIAYb4QgEBBAQDAgWgMDUGCWCGSAGG+EIBDQQoFiZGaXJzdGJyaWRn -ZSBPcGVuU1NMIENsaWVudCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU+79lra4ptoen -wQ1yJ79rNrrviCYwHwYDVR0jBBgwFoAUSxXHUsfikHvFOWqlbMq4iLL8yS0wDgYD -VR0PAQH/BAQDAgXgMCcGA1UdJQQgMB4GCCsGAQUFBwMCBggrBgEFBQcDBAYIKwYB -BQUHAwMwDQYJKoZIhvcNAQELBQADggIBACnXYSrj0UjF9Nc6aq6l6lfiwqeef/ck -l9Dp3uKGKVe0YUydO5XERWIV8+6QrwLr5Kk4WOVK28jDCaQurl4/+3xC6ZcY0839 -2jZXWIkhuWI0frq0lQTP/puNxKxAzA/a9XGFXVomBc2C/NmPGjOdbJZ3Ia9ozr6g -ssOr8CDne0UrBOKmMPj4Wd9M5lP9wwIaGemxfs79G0MyjhsgSUnsVm9NdNfnX3qc -C8Can1GuHUetUaLZkXCzN4j5etMnvMRDZ2OCVLEy1H7Ou9L8JT5rHo1O/WQGdy80 -3tIakvjGAYikKZsoU+dcf1tJ3JARVuyuKnB89XV1Q7igAFD7Xr4+TMFUGnQf9/+c -dMoaAZq5YCWjpOGiebrhCSIcVRwlLbxdtMPRL9G9hVe5yn2FHQysDkAQ8O5jj7tR -j9+PvcjG9uarlOiWmMy+ZYKwnHKAUxqOk4w9aZFIURt53m589IhZB3q7oMueD9nF -aEpfqyfJz8/zKARS0eKqqrv78rAetf8zFfef6pV3IECtDGc9axvdTMvOvsGwjobv -AM0g2T6XyVM6pN4bDrxmkS6cy4inhYOe3gXverDDjpaMozYcHV1xUkC/AtVVUWRR -ueaa5vMWC4xhsTBZJ8XqSIan75aCleisSzaGS8OHP4+kuoJKi06My+AGRsq09w0S -6CMfM1dq0jkH ------END CERTIFICATE----- diff --git a/apl-updater/src/main/resources-prod/certs/1_2.crt b/apl-updater/src/main/resources-prod/certs/1_2.crt deleted file mode 100644 index e22655774a..0000000000 --- a/apl-updater/src/main/resources-prod/certs/1_2.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGdzCCBF+gAwIBAgICECgwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDQwNFoX -DTIyMDUxMzE2NDQwNFowgZwxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLaWV2MQ0w -CwYDVQQHDARLaWV2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTHRkMQswCQYDVQQL -DAJRQTEYMBYGA1UEAwwPTWFrc2ltIEtoYWJlbmtvMS0wKwYJKoZIhvcNAQkBFh5t -YWtzaW0ua2hhYmVua29AZmlyc3RicmlkZ2UuaW8wggIiMA0GCSqGSIb3DQEBAQUA -A4ICDwAwggIKAoICAQDHfLDK95NWKHN9Dtx1NC3seXnZHXWlnuRLzGUxhNV/m221 -4JqRR0GZ354cPOVMYrdkbu+g+XgGwqB3JEHNfnbW7JPMF03SumjpMgCGpFQodZUR -F2HMNVijMTgbD1AWMbPK6M6Iph8M2Y9XtF/jWE/+8R5knuAeumJVk9plvkHg8W04 -rZtMMoX33j4x4s7ZuuwoTVtL0tbccXzGInyk64mkUmOltk/Yh97T4AHyPIDZo/ux -Ns5Iq/L5bE9P7Nmh0glQGYig4f/3C0vK+FuubZRKphHLgczdJlBfMAQ+40IxBWJK -TnbjIHLloWq0f7j5SH9kfHUGxLR+p11dUTrBRpUFOGeWl3lQMicp43nrD7YocOxe -fZO02Z4mP7n1RLfA3CRFpB3aFLjbyvCa+OBD7yHUEA27H1YTX9xhxEgYjFrZDvSv -5jGth5U/Qvn5Trwe5rDS5QNnUsk4klPqZRYypLCtoGSct7OXYFP1p65KFES731Gj -8E6LTho/lGwibPomgwEeQRh5GwCPWoMLaN1zCQ9MAYZz1hevPRDFd970gmjAue4g -BICEAqQ06b3h1Wh5OgSdizmRcQJQGBW1L6h+dx5Fw09anWrmunRgG7ieXJoab9Tl -wjfMjjVUhuXx2fAP3vakqOU5Ak7HqtYTQawrj8Kp7XA04Hzg1OM/pzEvOwixvQID -AQABo4HRMIHOMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgWgMDUGCWCGSAGG -+EIBDQQoFiZGaXJzdGJyaWRnZSBPcGVuU1NMIENsaWVudCBDZXJ0aWZpY2F0ZTAd -BgNVHQ4EFgQU1TQGa9VBjCEC2IwqK2MgnKyKEIMwHwYDVR0jBBgwFoAUSxXHUsfi -kHvFOWqlbMq4iLL8yS0wDgYDVR0PAQH/BAQDAgXgMCcGA1UdJQQgMB4GCCsGAQUF -BwMCBggrBgEFBQcDBAYIKwYBBQUHAwMwDQYJKoZIhvcNAQELBQADggIBADl4Vi4B -2iM1V6RlPuNv0fy2sMxpoob+GcNsEdTFh1u+awVfwo0wWkU6YZYk7xhwE4nRMrgD -WwCUIbUd6FSYaZ5Zr2tlj8LIj9MwKm2txJewLb7Nx93t6NAag/o0gcy0hPCdEGdz -DPFts65plZgnxjwByTJXgU2lW/AvaNX3IySxhHY6eH1WY2wcN8VFZTXJHzqtpIPU -8wIi7rfk6H65m1YumjCTXbDydTCUCXYOzJxpQwaouI7jJFVoAPtVDBg7kQSP8iHD -7hzdA60oXlO54o/DSiCy6rFpruMVh7OUwoPTlGEbrvWn6Ex8FHfe3/P876/GOOI1 -r9JpXt+9R8H0NdzfAsjLylWVSpS+faEwKTNEoYjNWaJA7ScZOyyDdzBCHgoqLQvG -ke8DpxdHMrkNX3PS6fUq7b1MF2oGZY+y6Rslqe7KK/RUHNsW3I2ElxGomn8jtMo+ -2TbabG3e4DHXc0Z9DAcgtVWKAJ/0Bf5wcvrJ10TBYXtBTJ+n+AKLD8OjMlpj/zrY -fj/ki58CV0Xe+ou9wmVAb12o6Obtot8RI/YYP0jYoOl0XSf7PE0uWHxWxqoq+KwR -YDAsVujG2KKWBcvXDxwkcd3XCfhuc94ecrBskI3x8Vs/x9qArq75uATthffw4Jit -vBdOc4srytIdREo35LjC3xam5CHsTYgfRn9m ------END CERTIFICATE----- diff --git a/apl-updater/src/main/resources-prod/certs/1_3.crt b/apl-updater/src/main/resources-prod/certs/1_3.crt deleted file mode 100644 index 28b898c496..0000000000 --- a/apl-updater/src/main/resources-prod/certs/1_3.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGYzCCBEugAwIBAgICEB4wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTE5MTEyODE0MzExOFoX -DTIwMTIxMjE0MzExOFowgYgxCzAJBgNVBAYTAlVBMQswCQYDVQQIDAJDTjELMAkG -A1UEBwwCQ04xFzAVBgNVBAoMDkZpcnN0QnJpZGdlLmlvMRkwFwYDVQQDDBBhcG9s -bG93YWxsZXQub3JnMSswKQYJKoZIhvcNAQkBFhxvbGVrc2l5Lmx1a2luQGZyaXN0 -YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4Pj571wN -HXIngO8mEp/znveFKwbyWD+t8MQSqEXFFDOCEFuzDVj/leaN7cRW+PiR2gQmO9MB -EFIg8UHV82WE5jomjI/oi2PGgdVXjkOvFyF9hIXtKV4j+V/AVXm8lswOjkdV0BuR -cx37u/dQHTanRqIOqQ+hAiBRR4aY63V3MGeK+K8ypxEOoMsC2t3HPWECrlhh5xir -M5FZX+BpnvhUwTEnJsEdugiQUBg5joCUnvGvxiPq/5aDYP/dkQmEued+Lvy3WgkI -H6gnJHS5QiMR5YfbPkUAXWnEXQ62BxWdyqI0oTZ7uHzJhmkrF+aRTFzEJZZIualK -xLDT7qeO8Cd8ifrMHdVZ4fMcnlDwarGA4jgZ5N3gmRNG4WI6ESMCnZct8DkXF8Sg -eQnh1TuTY8elV4/2X33cFtpe7YfyMXxoyqohesqANjihdDEZ3O7OGK1CxBjIxkvr -GETsPJWlkPy2gIcrAhCvwcCt3fdl+l/QXv+TdyP2JZrYyfs/T5uMI+ypHu98fZWI -3oRgD0/sOEWr0dOlJKEiE6TL+dMe8IqR9r4RoQRJS2sOo7Sy47MRXhDQM7E3aHDV -EvkxMpoC6IxHD6Xs6xWBZ8utwwwV9zoaX1oRl3/hT22zvlWoZnjqGfcR7WFJiDAD -RZQFLg3z3fFHg2+Qz/rrbsEIPhLp4vCrEF8CAwEAAaOB0TCBzjAJBgNVHRMEAjAA -MBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgBhvhCAQ0EKBYmRmlyc3RicmlkZ2Ug -T3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFEP41g/42ArtYyuV -t6lhQ30vvNBMMB8GA1UdIwQYMBaAFEsVx1LH4pB7xTlqpWzKuIiy/MktMA4GA1Ud -DwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEFBQcDAgYIKwYBBQUHAwQGCCsGAQUF -BwMDMA0GCSqGSIb3DQEBCwUAA4ICAQA3QRcWoNlBYycRnp9hD5snVSn0DqkTHMg6 -6dG3g+07jwbjPQjvI67ylhxRt3cfwtpd3oUBCARu2HxDMsMTSa/xwLfE9u8m+0A6 -FsFIHSKH3dEQzhf1Ty2cIQXF+KydOOVa3kXbpBMshfzAUwAemL/4dbgmBnsTuT2D -Qq4+mO75OHxbvPVqkvVH/EcVleQd0GArO0EeBoxrm2P4ArVLTHUoIbSE+ihacWRL -JEhr1B5365mDRlOhIQa8b3DVohz0YlHUPCq5hecdSHbN/JpkhpFqvNMdTphmhyMR -KZ5f6cVpOwVw5CwGHRUxcfBfVYu93GJqAYizlNIXn5Bz46MDv1xKJZ1hohok2r/T -zaoD7i0mhm2TJn6Do0xPu13XLuGR9cR+87njSK57S5RzGKJsjHoqAFmkIvhFCMzV -kGkcX3sp6k4WWP23Ym7JZBvp4WjCg68d8m1zVrt2u4duI9JiAEZc6lnfxPVc0Mm1 -159HDXom3lQhpavTPWWY8U1kMrpVAOOPk06D6dr5MEEBPBTnmVitr5iDbg5J9bjP -IEge5MMbFls6FTLVsWdTb06rLLrkJ59zmpg18VgKWaCn4HzOBw4qpZyRw50Wf3WQ -wglD8D6SQqjPVNJyoxLNelBD0hYFcNo0Kgo5+3r5N7kumYZlkatPsYpYt3CjTAcI -/3PsdjVyyA== ------END CERTIFICATE----- diff --git a/apl-updater/src/main/resources-prod/certs/1_4.crt b/apl-updater/src/main/resources-prod/certs/1_4.crt deleted file mode 100644 index 1ac7907588..0000000000 --- a/apl-updater/src/main/resources-prod/certs/1_4.crt +++ /dev/null @@ -1,38 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGkTCCBHmgAwIBAgICECkwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDQxNloX -DTIyMDUxMzE2NDQxNlowgbYxCzAJBgNVBAYTAlVBMRkwFwYDVQQIDBBJdmFuby1G -cmFua2l2c2thMRgwFgYDVQQHDA9JdmFuby1GcmFua2l2c2sxGTAXBgNVBAoMEEZp -cnN0QnJpZGdlIEx0ZC4xHzAdBgNVBAsMFkJsb2NrY2hhaW4gRGV2ZWxvcG1lbnQx -GDAWBgNVBAMMD1Jvc3R5c2xhdiBHb2xkYTEcMBoGCSqGSIb3DQEJARYNdHhfaHZA -dWtyLm5ldDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAND5kGVyK4J2 -ozPOfNLVqm12PGXVp+tT1FFwG9UZ6Glosh01l1azYfNTDuJt+zFKbpgzZLYcZhks -oEcJlQK6/TiYlwvCkf7xHc/5sC0BHCPpJGcesVloanerP+Qg2Rhp3BvIu2kW1v6E -KiAiEKbAaefvIiufhGtnb7c5JpOhjrJW9CcJMCQESVNrKbMqT2E5u08nvWrVPoBm -3tu7MvVOdESV42qKWr4l58PL02JUJYoE6zFx54b4u7q/CXjkUvFR5i98JMhFmuEI -Q7FPJyb0IsspiPQI0t5tfNQwPtrI1004AgG08Qies9MP5ucfXuGY1y7G+CbD6785 -6RzIwXvFsVCAiKXGVOxvpy7si1o4feV2S7+re9aTQj11MEQYDWNYXVN+4vJwL9qX -qcqG9o01XMbLjVHq7AiBz13JoYenQPln7pbaQ5xLHBmgSzP6EJGQblZz23vq34Fd -9gokTCVSVWEYD/Dsly22Pi254NAhp+aXLVH4PdPD04RVzVnu2Xu+OkQBLYxa2/mH -NYfgaMrwBgKO9JHIqHb6c5JfFrXxkEhiKwX9/20EWpEu1E/XM61a9i7ZF2BaH39p -Fn8gWoL6q3cC0tAPTlOYu3J0ycpdIQm5UQecoBfyEiCH0M2+Zvhzt4lf04xloT/V -YFQ0Yf7kF+fxPRW33rIr2wwsEbwTyAN5AgMBAAGjgdEwgc4wCQYDVR0TBAIwADAR -BglghkgBhvhCAQEEBAMCBaAwNQYJYIZIAYb4QgENBCgWJkZpcnN0YnJpZGdlIE9w -ZW5TU0wgQ2xpZW50IENlcnRpZmljYXRlMB0GA1UdDgQWBBS5nIUCDZlHhOq1tDYX -IXRbPTs/bjAfBgNVHSMEGDAWgBRLFcdSx+KQe8U5aqVsyriIsvzJLTAOBgNVHQ8B -Af8EBAMCBeAwJwYDVR0lBCAwHgYIKwYBBQUHAwIGCCsGAQUFBwMEBggrBgEFBQcD -AzANBgkqhkiG9w0BAQsFAAOCAgEAqIAsBuaO/1+TLWN5RkUy1zh4haslSwe08R7D -54MnQl3DcpcpaDa045PVJkec06p5Z9RxuzzyYBmPH5SoQ/PPiGTq3La4HBvPMDtH -BsyRdwxZHRf70inCKRGHTAKupL+duyx0AwsF5V0n2xF5QkGZLoxhOULY0rcVfiGM -IwfnCFBZWRuN9MOS8PopgyjjT9uXLlaARz26SIwPPKpxQunwykN1QUDrmapzSDz2 -PeTRwsOPuYuXN/XOUq8DUE4qVoUO8cr64aXzWy5UDOPZLs9zxdO+yqyy6Vex9Qsv -uch3mNgoXeu/gxTJ+euCy/n6RtiZe3z06wth/1+5kav5kmDduwpsepk05ql7BnCi -y/Ke9KbIOnjnMUjl1xXbo2rG7XVj7IpucP3LRT4rLB0VAxWVjype97WC7u6e2vry -TRv5VYHyzELD8hZz84ajUQ6NaGH6DfwtOwEX0Gxj/FuNiX3TrhcHdw4uVo4UypyQ -d1GZt8RpOy09jjZu5PNxnlBDkw5Bi8FaDVg9PM3Gq3I/ZT5dG6Zu5104iv2CgkdD -QJc4PhPsq4rPOLtWmrJ/J2AqBD9vfxjoMiAjLlzvyj6BIiJdMFnLi8qQBQw+G7bW -k5hPJtW40OX0IIYd/jiKcTHB+0oBlBvI450DmuryH1m1ikMEqPB99YPGtef8m3WS -EXVXy1c= ------END CERTIFICATE----- diff --git a/apl-updater/src/main/resources-prod/certs/2_1.crt b/apl-updater/src/main/resources-prod/certs/2_1.crt deleted file mode 100644 index 7613ffec3a..0000000000 --- a/apl-updater/src/main/resources-prod/certs/2_1.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGeDCCBGCgAwIBAgICEC0wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTEyNDEzMDMwNFoX -DTIyMDUxODEzMDMwNFowgZ0xCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ0w -CwYDVQQHDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTFREMQwwCgYDVQQL -DANDT08xHTAbBgNVBAMMFEdlb3JnZSBEemh5bmNoYXJhZHplMSgwJgYJKoZIhvcN -AQkBFhlnZW9yZ2UuY29vQGZpcnN0YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA75aMnpLfIWAuzX50072OR9Y5BxowLXggUE2wvTrUFwAo -1q8GETXK80xdhfZtMCkGlMvk8ldA3c+RPTXJIvjoDTGZOTERGOLxB32kSn74fPtu -yRUqktGMBI7JQM6My27owJtApIif2Xn7q8Qo8YguBmbzOEblO0FYVkd9IopePtvt -r/GvJStY0lNIQpXQEzdrK+QBIeXlBG1OiTswC2BU8MAc1SeZcF4fiLnPxT0m9KLF -60iIJ0WFBAmNYP8sQEnsEJRPzPm+rQhv1cAUzNPya9ZOubVqcHclKuzLfd7HOaJh -I7VPBjnd4FFMUzz3fk7jvT8uwvN5JeaU1V3g22bX/EZWmGchSJpFVCuxGdqj3TVn -eSh+D3WodzTobXC8oXxrGL6kDDRjYnLA74XngAFsDuT7yGpQoKQ1K3TL6Hkhwk+a -UMHJ3zi4ccOCNaC6TosJu9eNgXG1+SIBbKmBR59ltd6aLVlTk99nWBN3HsOs/Pnu -UITo36PdwouBTcKV6zQz1TezUsbYdQVfLQs/zvo88SmpNAuG7gcVXMCdd7TSGuk5 -Ac9xihO9hS8mmZouBymkuaugcji54vv4yBYoDXh2km9Ls/Ypcb5r/4jIh4DJFfs1 -5yqzq35smIl5cewVn9KEaETBetZ3Z5MdY8hMuZWPgPhqVVDRqOsnjpk5JmI2AQ8C -AwEAAaOB0TCBzjAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgB -hvhCAQ0EKBYmRmlyc3RicmlkZ2UgT3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUw -HQYDVR0OBBYEFIz6a4Hb4whZiQf2JYpAERgk6P8yMB8GA1UdIwQYMBaAFEsVx1LH -4pB7xTlqpWzKuIiy/MktMA4GA1UdDwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEF -BQcDAgYIKwYBBQUHAwQGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4ICAQAZZBJM -hw6dFMI3b9BCE3i49B2uxjRqtFRpNtOZoPgjVJzWvY+lwpJOXFVShQG67rt53xMM -SLcZvejQGJlQLLWJ0/BKDaeWpsrsoWfp9uNsy0xyhfeLxvsmQjdCDBLUC1/6Trhe -zVbSsQ7556wAHdPFS4x4BvssjdRPVmqckwT5GE5E2ATXYEuNHWDWktlFcCnaoc/P -lOSDQ3qkkVF8sFJnW0nH4nbQQHvyb0gzL+/MexIr3mqm93bXZJN/xbJ7jAgTPLwe -TWU5iCmdJPRxKOhuq6PUP3tJJs1ImT/1+6Hj+VENpOvwV2aeES9ahVCUYZwg4MgF -GTfNribVhpbzTrCALdGH7CBnXkAHYUP++Kr5+C9jXgfhesOGZCLlp1TAw0jrhNyf -bcCpRi24Vgca7b4G9nCxH7agbUo/BU31DEzlQ4K4PTh63NTAsJ4piXwSIFotaRNR -K5N84EN0D/EXlPFUafg5jC19S0RyoHw6SJ7zw5xhj/gxmo+ZLM4oLqJfT3ZX91/V -nNwc4O/cyoICooMMWnCfw6D8nqeWRNKzzN5MCjWL9ewmfm4L4VMKmzWzqKIGAuxK -Q33T/+YgeVsQFQEDy9+aD1rc7X8NHIY+VCEn7ZN3KbaZZ4XnZltn8NbsGLNSbda7 -XxD83EHKwf4mORRn5aX+/5biKe0/xCpfULYnvA== ------END CERTIFICATE----- diff --git a/apl-updater/src/main/resources-prod/certs/2_2.crt b/apl-updater/src/main/resources-prod/certs/2_2.crt deleted file mode 100644 index 324f7fb970..0000000000 --- a/apl-updater/src/main/resources-prod/certs/2_2.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -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 -XXpr1M5IhZt0X6sHYkasdl3m/b8= ------END CERTIFICATE----- diff --git a/apl-updater/src/main/resources-prod/certs/2_3.crt b/apl-updater/src/main/resources-prod/certs/2_3.crt deleted file mode 100644 index 5806a784a6..0000000000 --- a/apl-updater/src/main/resources-prod/certs/2_3.crt +++ /dev/null @@ -1,37 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGdTCCBF2gAwIBAgICECswDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NTgzOFoX -DTIyMDUxMzE2NTgzOFowgZoxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQsw -CQYDVQQHDAJCQzEUMBIGA1UECgwLRmlyc3RCcmlkZ2UxDjAMBgNVBAsMBURldmVs -MRkwFwYDVQQDDBBTdmlhdG9zbGF2IEdvbGRhMS4wLAYJKoZIhvcNAQkBFh9zdmlh -dG9zbGF2LmdvbGRhQGZpcnN0YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEFAAOC -Ag8AMIICCgKCAgEA2C813+Igz41/ihwSICa0z3HlYhRbRLyByRcKIFp6T/gvs+Mj -+fXrtp8Oodg64mekFW0bgehpqxyYYXkKIz3ObrkK7IUe6CjsctgIY4vdJ+tdK3OD -XCztQNCGtFfqV3/vLv47bq0lmTM342ekWR6NnUiMplIFFdb5VzjJmFQMLZRA6bYn -DQ4+6ml/RtypvVlhc0ey3bwKTMkpJoKylw6LXx6XMks+Y0Eyk/07bQKINOVq+lxS -4MgHsHTdLzd4v9lFldCNMKaMmx99uENDe4PuUVYAuagoQ/52sKEvXpoZJPtNOs9V -YaPfSnrfEyVHJ+M2Fr1ShNW0+v6WDzxjyLufd1514LnKIkXgALVYJnAjL3dxGdKf -Zk8LcNkDEDASceK2XXQTA6Yds86T+td2dKIsI/yGBSpp7mp5qvOsprIdx0nK6bbp -v+e1BZLdtgE0ZPjy0WAkqqZIt4W7MARmkjX8x5R5o0AGBstrDIQpLpHzGomQWVt4 -wEFC3M4Bu1Det//ODCbdXrVXWRirYUo4h4cYywGTQsEIV9yhAIOYntdSVSgRx9aI -+YNi30UVzBaCQFr2fNugk0YvKLr7lZ33tLj9gQBtTZjwo6/YcDj715VtY74IJTyg -mMbTE5N6qBrklO1dEiO3bHoiJeuiQLcfW0uIIaVlCNtSDXxQCqOBo0UX1BsCAwEA -AaOB0TCBzjAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgBhvhC -AQ0EKBYmRmlyc3RicmlkZ2UgT3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUwHQYD -VR0OBBYEFNIHdAVizPNxy3KvQgALrCXMCT0bMB8GA1UdIwQYMBaAFEsVx1LH4pB7 -xTlqpWzKuIiy/MktMA4GA1UdDwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEFBQcD -AgYIKwYBBQUHAwQGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4ICAQA6Ssrhwly9 -M63egy/8M6FqPTxbxKb+0QSOI6MD0IExAUPK7VsAJinT9BkV1y0kZQyJ6AIihcf/ -z3p5vkrrlhTmEDquGV5DjSbAKZUA0GlWESMfl6bdDHy2Mgea5QFb5INIjFlg/KXs -i/IMTOOL9NEDW/J4O/JXkrVpMmpvxXzxQPyfP/XqukykZaiJ4AiVhtKtTSJj0VWp -JYDlEQN27c4s91JUzC5Gx3oQABGjEfFsdMVZ6CKlHU7nnpX16VQW5kiInPCvetSM -7ai6J785x9CUQD+yo6nglVqf8I/C+omVbZsOEdCYmKigOfAFtpSJmzDo6IfEsVzg -hrSuuR9k8OIAeMgKB/Uk2R1vpg3ME+B0NfVMeYHcpnbtgw7ZkHA2ZfTQe7eT1Z2Q -2pBLQdCWN73FQ1AQuJ/YqddmHQzZbvGlX6sBBsm+hWeAWxwP+ivEYXGyApYcjaMG -JQC2zeBaas9xQfzKJVkwDyqe5B1xWypJNf0gavlbc/WXq/IVZZqyHVIYlRf9CAFz -U81XtQtbe8RLZ9yxWTh+1vI/nKHcFRKKH2hGQNhIr1XyZe3HTktQyzgM2VmvybV+ -nBc0q5wGR/w/15XDxKfcLdVbp9ISVJ7+DR4HjZHepLIuR/SBCqagBh1jfR6RJraQ -zwNUEFI6YENbZxyA1Onbw5tIfpKfAC7m9g== ------END CERTIFICATE----- diff --git a/apl-updater/src/main/resources-prod/certs/intermediate.crt b/apl-updater/src/main/resources-prod/certs/intermediate.crt deleted file mode 100644 index 5d0832b4bd..0000000000 --- a/apl-updater/src/main/resources-prod/certs/intermediate.crt +++ /dev/null @@ -1,35 +0,0 @@ ------BEGIN CERTIFICATE----- -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 -loQcZYg/Dw== ------END CERTIFICATE----- diff --git a/apl-updater/src/main/resources-prod/certs/rootCA.crt b/apl-updater/src/main/resources-prod/certs/rootCA.crt deleted file mode 100644 index dbe28ae482..0000000000 --- a/apl-updater/src/main/resources-prod/certs/rootCA.crt +++ /dev/null @@ -1,35 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGEDCCA/igAwIBAgIJAKcFbXmIl10mMA0GCSqGSIb3DQEBCwUAMIGUMQswCQYD -VQQGEwJVQTENMAsGA1UECAwES3lpdjEOMAwGA1UEBwwFUG9kaWwxFDASBgNVBAoM -C0ZpcnN0QnJpZGdlMQ8wDQYDVQQLDAZEZXZPcHMxGzAZBgNVBAMMEnd3dy5maXJz -dGJyaWRnZS5pbzEiMCAGCSqGSIb3DQEJARYTcm9vdEBmaXJzdGJyaWRnZS5pbzAe -Fw0xODA2MTIwNjQzNTNaFw0zODA2MDcwNjQzNTNaMIGUMQswCQYDVQQGEwJVQTEN -MAsGA1UECAwES3lpdjEOMAwGA1UEBwwFUG9kaWwxFDASBgNVBAoMC0ZpcnN0QnJp -ZGdlMQ8wDQYDVQQLDAZEZXZPcHMxGzAZBgNVBAMMEnd3dy5maXJzdGJyaWRnZS5p -bzEiMCAGCSqGSIb3DQEJARYTcm9vdEBmaXJzdGJyaWRnZS5pbzCCAiIwDQYJKoZI -hvcNAQEBBQADggIPADCCAgoCggIBAK0Owbv0qmLsUzLrfcOGObNBXSVNplD33+is -H1sjV3lAjHIWIywwLZMXcCUM8WWV32UocVnb4FPO2d76IWCviZAl54atRlDfL2rv -H+hYUCSXV60B0+1uDcSPr4+tq3yDgChvl73OtQDNa48UV9x+jPmUV3LGOrN/oqbU -8yNt7m8//gKcwQSxjWe6+VT+ZIVVlbVeUG4M+qWPaQMZsQZIElPjeaF9mz/dFImz -MwBFmCA7k03KaX0Qn7XKHrkhp52a+oa0sHk2F2B58NaQPwdUwUF9D6kB2PjD+Ev5 -RfF8gNdqTmY2Ufwiy0vCMB3micEJ0nDHK9/u7EnsGspHExvYQ4/x/hVktL29WWwv -OHqUd5cmsILGS4FuyQZ/jmZtw8AAhNhyImhLwFv0/iqvOby/lhmKBeSEYA8O1WCr -6by4+HiEzXmZ4MRokq/QxZKJ2WskTs8RL+FuzgtG7wvGkzRKmz5G4u+DzPsZs7ig -WV9K9CHsl5HCAn2FSCidRnmPen7592THzl7W/7dT9kmmA19dVtIqV86NUlB/5lf9 -i6oBeHXzBnreAtKuLB7XiNA1tCqo1dYPN3wNQEcqracbmM/RHK/BBfxAJvofgLLb -SN4gKj4mfprhT0V9tOFoWBZ1haFzQD6Oom3KcA0kjX3GESmld6mvxHLeKxTFvpoq -JgwiGxHvAgMBAAGjYzBhMB0GA1UdDgQWBBQC945QrkpuLT0cb9kkR+WXQXzKdzAf -BgNVHSMEGDAWgBQC945QrkpuLT0cb9kkR+WXQXzKdzAPBgNVHRMBAf8EBTADAQH/ -MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAaozG0E1WLt2MpAx4 -8c85BnYU2tNND+1ZU8SPYqHSOE3ZrpWnZwbOKiJGZ2jT33Sr/MLjabR9XQWZK4H3 -X2LasuIb6il/aPiJ/7sl3VLnu03wDa7YraRdpPL0B7M/zmKb2VjnsnrkRw1GHuKO -KnA6f3EhwCnUfARD0GSGKBvS+Rl+qhfhqXAN/Lpr4sCZnvaxfADwCulsh0ZsrIcw -YIZtOVkvZvI87q0txbC4K+TF5yfhKDdD0zuCnvQSEuNsLDsPx/S1GhhG4mXtJyDY -GGB9e1zh7GMRhloBkLgMd0g2FJf4EEK6dcHDHLul3HSyIsikr0f8gaOIoFFPD8bj -wno7npDSFkkY8zwTkx+a0y87CQSnj5Ko6st3ohZLO6g/KijH00cn8WEgxEdiG7Vw -Y4WgezCmLCjVFnLS4VRnwZW32iPZjWkwF6/FImSuiAIgZfT9q5n6dCLwHHUxPu7Q -V3FEA5mgJWZba/fPscfoa163pPoPaxZALBTLXdgVEv1KQUELtrwOGm5s796kj7VX -gxlj4TBMtURXKcuns7QAEKJDeKhnv8R5Oh3j5MkYRvTcyE+RfW5ewJRtiI2lv1ds -pOW3zIgJWY2I9HVHUDXmbskPMJjcPZpv1M6Me3id4bAWDP3I1SHu0mzqE5qXy5/l -5YyJ/mouRe1kokM1lAYIrb6HsLQ= ------END CERTIFICATE----- diff --git a/apl-updater/src/main/resources/certs/1_1.crt b/apl-updater/src/main/resources/certs/1_1.crt index 11e4a2c18e..c206ecd8c6 100644 --- a/apl-updater/src/main/resources/certs/1_1.crt +++ b/apl-updater/src/main/resources/certs/1_1.crt @@ -1,37 +1,42 @@ -----BEGIN CERTIFICATE----- -MIIGZTCCBE2gAwIBAgICECcwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDMzNFoX -DTIyMDUxMzE2NDMzNFowgYoxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ0w -CwYDVQQHDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTExDMRgwFgYDVQQD -DA9BbmRyZXcgQm95YXJza3kxKDAmBgkqhkiG9w0BCQEWGWFuZHJldy5ib3lhcnNr -aUBnbWFpbC5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCV0/1a -bFOaNOLWU5NqRhV4Fn0kY5lLZ9WWvktLfv6ayBoIV4z95msGdAac2YhDdRC9bE7i -sPiz181qknwmUBq1js1wJotEhXuLf2CI5l8t3ENjEzQS7NJKFmusai6yKdFloL+x -KRJle/jGEX3ox59hiHlwzqZrWszO2nI+kNOWcFbzcReJEfnpj3HW3TeC1y0SL97d -8b79i63u/Fk7Y9IpWIsNgU+h8PinqP+wCeciN0DfbdmVQrNPeNGLl2lAGHP+qstr -tOdXxJxJG5qyi9F6Upaza8J1QGxpPJaa3v9LwcUQdV/hVefDRXntsvPdRMEFwUpo -zKiV1IOTh6Tvp/3bJnS+BHBWdOdcLMSjE3v51Igs3BSf5OXeMxYyMfSCOsfPItYH -aWfDESp6Yp9LkhXp9ED4vltVtLr9ZRx7QVm9ejhTtwLCjqdwhFPPKS4xZKNx8LbH -9UpjJegVddYbLuRbOA1AgvFxs/DlQcD8dLytFPgyNQncsmuLa2jW9bqpKH97ShQM -XeneAkZ8MbexV4sq16Rzza+YM4btHyau54zbOf8tToODzHGeo008JDnNUnLIav7S -UrD0VSfSEapSwkfxfKWJxirDJwVFSWaUzyiYQcyodkgL+qvu/FIEd+ez806mr/1+ -zTr66P8iKIJgx9N+tL9AmLC3fQzbtxtobaehvQIDAQABo4HRMIHOMAkGA1UdEwQC -MAAwEQYJYIZIAYb4QgEBBAQDAgWgMDUGCWCGSAGG+EIBDQQoFiZGaXJzdGJyaWRn -ZSBPcGVuU1NMIENsaWVudCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQU+79lra4ptoen -wQ1yJ79rNrrviCYwHwYDVR0jBBgwFoAUSxXHUsfikHvFOWqlbMq4iLL8yS0wDgYD -VR0PAQH/BAQDAgXgMCcGA1UdJQQgMB4GCCsGAQUFBwMCBggrBgEFBQcDBAYIKwYB -BQUHAwMwDQYJKoZIhvcNAQELBQADggIBACnXYSrj0UjF9Nc6aq6l6lfiwqeef/ck -l9Dp3uKGKVe0YUydO5XERWIV8+6QrwLr5Kk4WOVK28jDCaQurl4/+3xC6ZcY0839 -2jZXWIkhuWI0frq0lQTP/puNxKxAzA/a9XGFXVomBc2C/NmPGjOdbJZ3Ia9ozr6g -ssOr8CDne0UrBOKmMPj4Wd9M5lP9wwIaGemxfs79G0MyjhsgSUnsVm9NdNfnX3qc -C8Can1GuHUetUaLZkXCzN4j5etMnvMRDZ2OCVLEy1H7Ou9L8JT5rHo1O/WQGdy80 -3tIakvjGAYikKZsoU+dcf1tJ3JARVuyuKnB89XV1Q7igAFD7Xr4+TMFUGnQf9/+c -dMoaAZq5YCWjpOGiebrhCSIcVRwlLbxdtMPRL9G9hVe5yn2FHQysDkAQ8O5jj7tR -j9+PvcjG9uarlOiWmMy+ZYKwnHKAUxqOk4w9aZFIURt53m589IhZB3q7oMueD9nF -aEpfqyfJz8/zKARS0eKqqrv78rAetf8zFfef6pV3IECtDGc9axvdTMvOvsGwjobv -AM0g2T6XyVM6pN4bDrxmkS6cy4inhYOe3gXverDDjpaMozYcHV1xUkC/AtVVUWRR -ueaa5vMWC4xhsTBZJ8XqSIan75aCleisSzaGS8OHP4+kuoJKi06My+AGRsq09w0S -6CMfM1dq0jkH +MIIHazCCBVOgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVB +MQ0wCwYDVQQIDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgbHRkMSYwJAYD +VQQLDB1BcG9sbG8gQmxvY2tjaGFpbiBEZXZlbG9wbWVudDEnMCUGA1UEAwweQXBv +bGxvIEJsb2NrY2hhaW4gSW50ZXJtZWRpYXRlMScwJQYJKoZIhvcNAQkBFhhyb3N0 +eXNsYXZAZmlyc3RicmlkZ2UuaW8wHhcNMjMwNDE5MDczNzU5WhcNMjYwNDE4MDcz +NzU5WjCBuzELMAkGA1UEBhMCVUExHjAcBgNVBAgMFUl2YW5vLUZyYW5raXZza2Eg +b2JsLjEYMBYGA1UEBwwPSXZhbm8tRnJhbmtpdnNrMRkwFwYDVQQKDBBGaXJzdCBC +cmlkZ2UgbHRkMR8wHQYDVQQLDBZCbG9ja2NoYWluIERldmVsb3BtZW50MRgwFgYD +VQQDDA9Sb3N0eXNsYXYgR29sZGExHDAaBgkqhkiG9w0BCQEWDXR4X2h2QHVrci5u +ZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCxrLs23LbZa3d7TnYA +9c+vi/vraLGOGVMtHs667YzrgnqTW5WJBczvkBQLHhL+J8XvUG7bgD5vnVchAH/2 +sn56+w/WqvZ4r1UtR9l2MsvbNjWL3j3gV1sbWZqE6Wx47xRPEmswhPD0OIVjqc0/ +amFgwpkAn2QNS/p6O3GBRmq12cFrhwH5sh2Ipp5EhlSMuIQxuh0iUoJOb06ux382 +o13HqzY0tyoIwrpOprmQGTAgO8XK1NOfkMJuLFpka6adp9u/Qf1l6U89+U07Q2xK +k7hLbetV8rtnWX0r9TKLhOYJeD3XmUCeZox+579Yr+2KzUd7XMia3MmeKugjKelJ +oUBS+iAlazUOPJLqvgkQdoorhAH5M0CL6p9gJY6dyrY8XsNTE0F+ie2Brn4DEpz1 +wYrRyxQKH7PG077Ac5PEDlE1Qwvqm66uqzecQXOKrWcz89stQ5+WpbBiXDKEUXjm +++U2MkKRIY0KOpQCnjg11V+PUPoR+empPCyZNo8r4C9Vi6Hld5EMQe7VUTn4i27r +CysCCHfZXmYxoKjQrRlP6SuI9i6xX+kXN0Mi9lx7KzExTP0eqO32477NjRaP3pY2 +PlDncgKI7mTod6S183vpG6UgAarnviLM6J1tk58IXJq8e20C7r2ZA7Snf+j7K0z+ +42z2ym2xcihxn5M689TdSqrNcQIDAQABo4IBfzCCAXswCQYDVR0TBAIwADARBglg +hkgBhvhCAQEEBAMCBkAwMwYJYIZIAYb4QgENBCYWJE9wZW5TU0wgR2VuZXJhdGVk +IFNlcnZlciBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUcGqtzZR2DBpb9tCGdIWG67S6 +KfYwgeEGA1UdIwSB2TCB1oAUotdE16DWA6yYMRKLBog1I9ixYYqhgbmkgbYwgbMx +CzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ0wCwYDVQQHDARLeWl2MRkwFwYD +VQQKDBBGaXJzdCBCcmlkZ2UgbHRkMSYwJAYDVQQLDB1BcG9sbG8gQmxvY2tjaGFp +biBEZXZlbG9wbWVudDEaMBgGA1UEAwwRQXBvbGxvIEJsb2NrY2hhaW4xJzAlBgkq +hkiG9w0BCQEWGHJvc3R5c2xhdkBmaXJzdGJyaWRnZS5pb4ICEAAwDgYDVR0PAQH/ +BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBCwUAA4ICAQAJ +IC0uVCl5FoyHaSTKgiiyx4RTp9aVjxHQCF1TfKul37NtFjpx7fAc5m7CV1QdJ4gw +W0tL6quZntAUIh2FVtgLRsBluUHMC4gj9x9W1WT4doq/hSu5Xux83gYSKmJBJ/Kh +3cRRPOzTemgk+v+dOhIkNKtNrqUHFIeNOHnh0B2ml7dHsrs/QHJZy9YP4o4mAFO0 +acmRF2zYMq7AUOPkQGbmG9YbGFXnlK08hRFyd1/WNAHj1whV1DnxbyFHPupFidiR +3QkYt8xC+sTEYciOdg7b3o5n2Y8SxzBxn/YEdAEPSJfWA1HjBAAaABcobmro7tDx +YC+CDS+W29WozDOheUPhJMCiBsGM5zq/Su4FQoYdSvgAnjJ3NHgWAESUzqyjYqWA +KN+GbhyY8nc3SdF0yK1OTLiOPpdokSbCi6daFZp4xtTRQA8na0BgGbMb9R1OgAw2 +yuiYTiefQfPEHnLdbfGdhAvXZCN2esgFRbspkRTIjbQAZKr1w0H+5Vd0aG3kMFVm +f3A1muP1BMLqAdmMC5aKEr/mEl5hcxHCSsvjr1ZFjfwTQwTuW6dAKB/v2z92atEu +BlgjdK0HfdCwLSYAATP/in7K3vCs6dSgCwBHuE+DKQR1oG4Y3xHufGR2OeRbBM3Q +W8NUQsAPMpeYJSq/JV5M3pj3uDFakMFKAxjho6pcdw== -----END CERTIFICATE----- diff --git a/apl-updater/src/main/resources/certs/1_2.crt b/apl-updater/src/main/resources/certs/1_2.crt index e22655774a..7e65e7ab99 100644 --- a/apl-updater/src/main/resources/certs/1_2.crt +++ b/apl-updater/src/main/resources/certs/1_2.crt @@ -1,37 +1,41 @@ -----BEGIN CERTIFICATE----- -MIIGdzCCBF+gAwIBAgICECgwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDQwNFoX -DTIyMDUxMzE2NDQwNFowgZwxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLaWV2MQ0w -CwYDVQQHDARLaWV2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTHRkMQswCQYDVQQL -DAJRQTEYMBYGA1UEAwwPTWFrc2ltIEtoYWJlbmtvMS0wKwYJKoZIhvcNAQkBFh5t -YWtzaW0ua2hhYmVua29AZmlyc3RicmlkZ2UuaW8wggIiMA0GCSqGSIb3DQEBAQUA -A4ICDwAwggIKAoICAQDHfLDK95NWKHN9Dtx1NC3seXnZHXWlnuRLzGUxhNV/m221 -4JqRR0GZ354cPOVMYrdkbu+g+XgGwqB3JEHNfnbW7JPMF03SumjpMgCGpFQodZUR -F2HMNVijMTgbD1AWMbPK6M6Iph8M2Y9XtF/jWE/+8R5knuAeumJVk9plvkHg8W04 -rZtMMoX33j4x4s7ZuuwoTVtL0tbccXzGInyk64mkUmOltk/Yh97T4AHyPIDZo/ux -Ns5Iq/L5bE9P7Nmh0glQGYig4f/3C0vK+FuubZRKphHLgczdJlBfMAQ+40IxBWJK -TnbjIHLloWq0f7j5SH9kfHUGxLR+p11dUTrBRpUFOGeWl3lQMicp43nrD7YocOxe -fZO02Z4mP7n1RLfA3CRFpB3aFLjbyvCa+OBD7yHUEA27H1YTX9xhxEgYjFrZDvSv -5jGth5U/Qvn5Trwe5rDS5QNnUsk4klPqZRYypLCtoGSct7OXYFP1p65KFES731Gj -8E6LTho/lGwibPomgwEeQRh5GwCPWoMLaN1zCQ9MAYZz1hevPRDFd970gmjAue4g -BICEAqQ06b3h1Wh5OgSdizmRcQJQGBW1L6h+dx5Fw09anWrmunRgG7ieXJoab9Tl -wjfMjjVUhuXx2fAP3vakqOU5Ak7HqtYTQawrj8Kp7XA04Hzg1OM/pzEvOwixvQID -AQABo4HRMIHOMAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgWgMDUGCWCGSAGG -+EIBDQQoFiZGaXJzdGJyaWRnZSBPcGVuU1NMIENsaWVudCBDZXJ0aWZpY2F0ZTAd -BgNVHQ4EFgQU1TQGa9VBjCEC2IwqK2MgnKyKEIMwHwYDVR0jBBgwFoAUSxXHUsfi -kHvFOWqlbMq4iLL8yS0wDgYDVR0PAQH/BAQDAgXgMCcGA1UdJQQgMB4GCCsGAQUF -BwMCBggrBgEFBQcDBAYIKwYBBQUHAwMwDQYJKoZIhvcNAQELBQADggIBADl4Vi4B -2iM1V6RlPuNv0fy2sMxpoob+GcNsEdTFh1u+awVfwo0wWkU6YZYk7xhwE4nRMrgD -WwCUIbUd6FSYaZ5Zr2tlj8LIj9MwKm2txJewLb7Nx93t6NAag/o0gcy0hPCdEGdz -DPFts65plZgnxjwByTJXgU2lW/AvaNX3IySxhHY6eH1WY2wcN8VFZTXJHzqtpIPU -8wIi7rfk6H65m1YumjCTXbDydTCUCXYOzJxpQwaouI7jJFVoAPtVDBg7kQSP8iHD -7hzdA60oXlO54o/DSiCy6rFpruMVh7OUwoPTlGEbrvWn6Ex8FHfe3/P876/GOOI1 -r9JpXt+9R8H0NdzfAsjLylWVSpS+faEwKTNEoYjNWaJA7ScZOyyDdzBCHgoqLQvG -ke8DpxdHMrkNX3PS6fUq7b1MF2oGZY+y6Rslqe7KK/RUHNsW3I2ElxGomn8jtMo+ -2TbabG3e4DHXc0Z9DAcgtVWKAJ/0Bf5wcvrJ10TBYXtBTJ+n+AKLD8OjMlpj/zrY -fj/ki58CV0Xe+ou9wmVAb12o6Obtot8RI/YYP0jYoOl0XSf7PE0uWHxWxqoq+KwR -YDAsVujG2KKWBcvXDxwkcd3XCfhuc94ecrBskI3x8Vs/x9qArq75uATthffw4Jit -vBdOc4srytIdREo35LjC3xam5CHsTYgfRn9m +MIIHNjCCBR6gAwIBAgICEAEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVB +MQ0wCwYDVQQIDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgbHRkMSYwJAYD +VQQLDB1BcG9sbG8gQmxvY2tjaGFpbiBEZXZlbG9wbWVudDEnMCUGA1UEAwweQXBv +bGxvIEJsb2NrY2hhaW4gSW50ZXJtZWRpYXRlMScwJQYJKoZIhvcNAQkBFhhyb3N0 +eXNsYXZAZmlyc3RicmlkZ2UuaW8wHhcNMjMwNDE5MDczODI4WhcNMjYwNDE4MDcz +ODI4WjCBhjELMAkGA1UEBhMCVUExDTALBgNVBAgMBEt5ZXYxDTALBgNVBAcMBEt5 +ZXYxFDASBgNVBAoMC0ZpcnN0QnJpZGdlMQswCQYDVQQLDAJJVDELMAkGA1UEAwwC +WUwxKTAnBgkqhkiG9w0BCQEWGnl1cml5LmxhcmluQGZpcnN0YnJpZGdlLmlvMIIC +IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyN+QQg/GQk1aa5ucyYXJDHGO +2rQDNBzGzYInmpQVFFLWIzlTk1rhW+rsbUg6OvZ6oMSVfC16wQ+XCo9X4ELm7+m7 +MsF3i+Fa7VGO2H0Z3Lqpxtjk5yaiUuvUiQFcgZh+Vo7Vwp4crGeveo8TH4qePL6g +Ynvo4T0gJpRWefVnIsiBibdQ7SoFABTkq77qXamZWXQIdRwzQd+9m5VVewDM1RAH +f6Dk1ekLdScGy7wvo8XFigZIzGn3lswxOpH/k5xD1H9tuWKPe3apl26S4cwBKwP/ +1jv9m3+Crs2PVYAMK9/40Hasz1UVZY5Vhb4s/p5YXUXjFD7EM/DB+FMcO61ynA5s +VAAizzRsvjPnzBDu/ZZwQYdzsHOmcOfzpknMnXnPiQlJ7r1ntYNOMIutDT+yT41y +w3BLAb9IH/SGdFo/KowVuPOeS7ul18JANfL/Cf/EX3do325ybF/bnMLGppKk7YTH +8xl6jJNxu9gRZF6cUxSe0eqV3HwwSTosGn5icmqK4+qNLcGsbOZOdbtdxubYmJ9G +xVpkyabC30q8v1fYLVZ4+q2mfAHPWUyied8xRxnIvG5+CMBZCENoUs9av1Xofs5O +sRRfcVoE32H4+tQYBP0ManEvUTxPA4gz4MF6N2s2/Tx4H+TgGge//5f5lt0ag8s5 +Jalg7HaYIygv8vhF9IECAwEAAaOCAX8wggF7MAkGA1UdEwQCMAAwEQYJYIZIAYb4 +QgEBBAQDAgZAMDMGCWCGSAGG+EIBDQQmFiRPcGVuU1NMIEdlbmVyYXRlZCBTZXJ2 +ZXIgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFA6maAXvVRbvOhXD0hjIGJIDxGTBMIHh +BgNVHSMEgdkwgdaAFKLXRNeg1gOsmDESiwaINSPYsWGKoYG5pIG2MIGzMQswCQYD +VQQGEwJVQTENMAsGA1UECAwES3lpdjENMAsGA1UEBwwES3lpdjEZMBcGA1UECgwQ +Rmlyc3QgQnJpZGdlIGx0ZDEmMCQGA1UECwwdQXBvbGxvIEJsb2NrY2hhaW4gRGV2 +ZWxvcG1lbnQxGjAYBgNVBAMMEUFwb2xsbyBCbG9ja2NoYWluMScwJQYJKoZIhvcN +AQkBFhhyb3N0eXNsYXZAZmlyc3RicmlkZ2UuaW+CAhAAMA4GA1UdDwEB/wQEAwIF +oDATBgNVHSUEDDAKBggrBgEFBQcDATANBgkqhkiG9w0BAQsFAAOCAgEAuXqKCVV/ +2caG0dl7YqAJKyvx6Ujh2HnkFPwIs+4iR9yMK1ztg/0PPoUCMIN3xZ0HzyrsHg5w +VpO4t4osPnb9A0t+cJS4iSyy6xRhmICpbfG/Lc5FLM+dRqIWSeDajPbCEWYtLAyq +mIv2hSe2FI2HrSpKIBsfch089G+QQgkFO8sAdaWEUgmZv51rnQk2+nqk3vuVy4on +h+QYqFj66uB0gJqESZejGvJhD1PLGujAf3Hwuqjf57lM6awJ6kmR5y+DsDczkXmY +u8kPcjFzeq+xImYbX48zEveK79DO1gryR0ZwlFMv09Y4DXvfbhF5q/WU5TQ91zdf +lsDTKTTE4NvvM85EnSrNHoqCJchcIV2657QbP7MrmngpVtGqueudQ748RclxvjLY +41Dw+PImcIFfT5cPVu2V2wQb0SG4x8R7phFbGW5OcrkT/zGO3cy6pGCq6qE7EGAv +kye66f3p4waxDAYd9QNgE2atVokFW1SmnsStQWPZ88A/aoGuwCxpbUcAw48an1GN +VOkkjM2m8H6dyZ+b324vb+hzt+bKnQahTGh37cRO/ILRSdUgNzZEWFWk0UTVhvze +O2NynY6LiD/gCWFbkTKBocFV8cAbhKpDazKEElDHqSmOsd43IHPtFA9g8vByU7Sj +lhB9ceFvdcgaKkatD9jUrq8oxPe85ZcZ1sA= -----END CERTIFICATE----- diff --git a/apl-updater/src/main/resources/certs/1_3.crt b/apl-updater/src/main/resources/certs/1_3.crt index 28b898c496..e1d8a80a3d 100644 --- a/apl-updater/src/main/resources/certs/1_3.crt +++ b/apl-updater/src/main/resources/certs/1_3.crt @@ -1,37 +1,41 @@ -----BEGIN CERTIFICATE----- -MIIGYzCCBEugAwIBAgICEB4wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTE5MTEyODE0MzExOFoX -DTIwMTIxMjE0MzExOFowgYgxCzAJBgNVBAYTAlVBMQswCQYDVQQIDAJDTjELMAkG -A1UEBwwCQ04xFzAVBgNVBAoMDkZpcnN0QnJpZGdlLmlvMRkwFwYDVQQDDBBhcG9s -bG93YWxsZXQub3JnMSswKQYJKoZIhvcNAQkBFhxvbGVrc2l5Lmx1a2luQGZyaXN0 -YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4Pj571wN -HXIngO8mEp/znveFKwbyWD+t8MQSqEXFFDOCEFuzDVj/leaN7cRW+PiR2gQmO9MB -EFIg8UHV82WE5jomjI/oi2PGgdVXjkOvFyF9hIXtKV4j+V/AVXm8lswOjkdV0BuR -cx37u/dQHTanRqIOqQ+hAiBRR4aY63V3MGeK+K8ypxEOoMsC2t3HPWECrlhh5xir -M5FZX+BpnvhUwTEnJsEdugiQUBg5joCUnvGvxiPq/5aDYP/dkQmEued+Lvy3WgkI -H6gnJHS5QiMR5YfbPkUAXWnEXQ62BxWdyqI0oTZ7uHzJhmkrF+aRTFzEJZZIualK -xLDT7qeO8Cd8ifrMHdVZ4fMcnlDwarGA4jgZ5N3gmRNG4WI6ESMCnZct8DkXF8Sg -eQnh1TuTY8elV4/2X33cFtpe7YfyMXxoyqohesqANjihdDEZ3O7OGK1CxBjIxkvr -GETsPJWlkPy2gIcrAhCvwcCt3fdl+l/QXv+TdyP2JZrYyfs/T5uMI+ypHu98fZWI -3oRgD0/sOEWr0dOlJKEiE6TL+dMe8IqR9r4RoQRJS2sOo7Sy47MRXhDQM7E3aHDV -EvkxMpoC6IxHD6Xs6xWBZ8utwwwV9zoaX1oRl3/hT22zvlWoZnjqGfcR7WFJiDAD -RZQFLg3z3fFHg2+Qz/rrbsEIPhLp4vCrEF8CAwEAAaOB0TCBzjAJBgNVHRMEAjAA -MBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgBhvhCAQ0EKBYmRmlyc3RicmlkZ2Ug -T3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFEP41g/42ArtYyuV -t6lhQ30vvNBMMB8GA1UdIwQYMBaAFEsVx1LH4pB7xTlqpWzKuIiy/MktMA4GA1Ud -DwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEFBQcDAgYIKwYBBQUHAwQGCCsGAQUF -BwMDMA0GCSqGSIb3DQEBCwUAA4ICAQA3QRcWoNlBYycRnp9hD5snVSn0DqkTHMg6 -6dG3g+07jwbjPQjvI67ylhxRt3cfwtpd3oUBCARu2HxDMsMTSa/xwLfE9u8m+0A6 -FsFIHSKH3dEQzhf1Ty2cIQXF+KydOOVa3kXbpBMshfzAUwAemL/4dbgmBnsTuT2D -Qq4+mO75OHxbvPVqkvVH/EcVleQd0GArO0EeBoxrm2P4ArVLTHUoIbSE+ihacWRL -JEhr1B5365mDRlOhIQa8b3DVohz0YlHUPCq5hecdSHbN/JpkhpFqvNMdTphmhyMR -KZ5f6cVpOwVw5CwGHRUxcfBfVYu93GJqAYizlNIXn5Bz46MDv1xKJZ1hohok2r/T -zaoD7i0mhm2TJn6Do0xPu13XLuGR9cR+87njSK57S5RzGKJsjHoqAFmkIvhFCMzV -kGkcX3sp6k4WWP23Ym7JZBvp4WjCg68d8m1zVrt2u4duI9JiAEZc6lnfxPVc0Mm1 -159HDXom3lQhpavTPWWY8U1kMrpVAOOPk06D6dr5MEEBPBTnmVitr5iDbg5J9bjP -IEge5MMbFls6FTLVsWdTb06rLLrkJ59zmpg18VgKWaCn4HzOBw4qpZyRw50Wf3WQ -wglD8D6SQqjPVNJyoxLNelBD0hYFcNo0Kgo5+3r5N7kumYZlkatPsYpYt3CjTAcI -/3PsdjVyyA== +MIIHSDCCBTCgAwIBAgICEAIwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVB +MQ0wCwYDVQQIDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgbHRkMSYwJAYD +VQQLDB1BcG9sbG8gQmxvY2tjaGFpbiBEZXZlbG9wbWVudDEnMCUGA1UEAwweQXBv +bGxvIEJsb2NrY2hhaW4gSW50ZXJtZWRpYXRlMScwJQYJKoZIhvcNAQkBFhhyb3N0 +eXNsYXZAZmlyc3RicmlkZ2UuaW8wHhcNMjMwNDE5MDczODQ5WhcNMjYwNDE4MDcz +ODQ5WjCBmDELMAkGA1UEBhMCVUExDTALBgNVBAgMBEt5aXYxDTALBgNVBAcMBEt5 +aXYxFTATBgNVBAoMDEZpcnN0IEJyaWRnZTELMAkGA1UECwwCUUExGDAWBgNVBAMM +D01ha3NpbSBLaGFiZW5rbzEtMCsGCSqGSIb3DQEJARYebWFrc2ltLmtoYWJlbmtv +QGZpcnN0YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA +10cElFVAOXkZjrkj7wL/Mm0JY12thKXYtxViLJwm1OsfDsvc+o+SqUVUIueqdftV +L4NwJiEHmaCupX2qat6wcva8nKLVSvCglnbYNsLlyqD3rPAol85a5ZXab+UnMjgX +IWtwjGVqzOjuBNH3BV7T591H9EIlDP2SeivPqdTXTCqwf3mcqw2xR6x3BG2kzn9N +nkF5pZ2o0e3mbSMKjedTIILWm6Uk+oXokpAWGIftuyCMLyffP8uL17fiWMpYzxRo +MK0ghKo5II0YTXH3pPMQqSK0Yxavocg3mn8PTsynp53SUb6ebxAYgXtiWc7wWcQ7 +h8ouH7rpjrJNgcfOZzvpOBexIi1wvzkk1tKdaXj0G8SLoP9nE86eZxiU0WkTdBxb +MlK3AOI0H6FRp9X0MJw7JAgZrDpXd/cV+g2OMxSd79/NNlcHUrS1KQBypp1HUsp/ +h0zDL/BSXIpaI1SMssaFio85lgHA6kEWN4e7roC6QpgpKFSOj7YkDS/HUF0T7YGo +HevLtgeXSQSZ+Mv1PgnRy2DDwFni9+QhurT0U/9q3m3wL6qz/lCr9O4uOXJBACz5 +ytxpRrQltVHvpNPnKGUkNESKcQOqkvQgJYfI64g/DcWPQVv2JxH7k9cAqViMsWE/ +UniBu63ZmavzzYYcBadvbBbzQXom6w0Wq3XiFDeYiU8CAwEAAaOCAX8wggF7MAkG +A1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgZAMDMGCWCGSAGG+EIBDQQmFiRPcGVu +U1NMIEdlbmVyYXRlZCBTZXJ2ZXIgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFAZDi4Zv +PORCfyFByFVQQGh55HGiMIHhBgNVHSMEgdkwgdaAFKLXRNeg1gOsmDESiwaINSPY +sWGKoYG5pIG2MIGzMQswCQYDVQQGEwJVQTENMAsGA1UECAwES3lpdjENMAsGA1UE +BwwES3lpdjEZMBcGA1UECgwQRmlyc3QgQnJpZGdlIGx0ZDEmMCQGA1UECwwdQXBv +bGxvIEJsb2NrY2hhaW4gRGV2ZWxvcG1lbnQxGjAYBgNVBAMMEUFwb2xsbyBCbG9j +a2NoYWluMScwJQYJKoZIhvcNAQkBFhhyb3N0eXNsYXZAZmlyc3RicmlkZ2UuaW+C +AhAAMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATANBgkqhkiG +9w0BAQsFAAOCAgEAOd9IPpiF8xz4v9LhwSvG0WekopJmH6ulYjMGPFskgsZ3Iqtt +fnkuz/t3WGJbAa1Wq01icpAlnm8m2+AiFoUhJhFu0/zXhD4T/BD1nQDsoBgcDPwH +jPi672GB7pIlADdiYj2m21hs0WJ9+GvMyfBL1b3FM0im38x7NqwEB/suHDgkx6e+ +rYhm1mpPgIC9cVWbT7GQaVScX90K/zQrhRwUw2UQhjZYkcOAte0KswsPOa+g1bBr +cc7MO6TF94s7346zsK7p/kiqQR1fbXEp5XVD6vOmVHcJDzkkk5zo1yqtiVfSM67W +/QDhhJyEZi1bQ90I0GAg6Wq0fX4J3d2kPHNhtImtjqZgYNLCevpuX20RLklfShod +5qV2ZUQJ170IyPtIMDX+cU9duWQ1d1MllQhAQP0zCOIA8QeMloEI3Z+1RIDkMjRC +F1vxdP3be2hdyzhtx0PIOg6Cen+ZbQnFCwHgsd1ICX+GiqZXtt3xMMkBVYS1c0qy +trmq/FtJoWU2BytKbWXQ+gIH08ZR6mE4CpxZ0zrmDGbEbHvZ1T2K4IOHLuE1mbVx +0XybXKhUMnat3C8H1PQBinBVI7rVjUfmizvqWirspSUAanTNo7+y9QBgB2FJb03a +recoj0vPGzrjnVZ2b/OL+n9Jn9K5uyvivdapU0U8/ZxfdFcg4kMZtV9/BEg= -----END CERTIFICATE----- diff --git a/apl-updater/src/main/resources/certs/1_4.crt b/apl-updater/src/main/resources/certs/1_4.crt deleted file mode 100644 index 1ac7907588..0000000000 --- a/apl-updater/src/main/resources/certs/1_4.crt +++ /dev/null @@ -1,38 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGkTCCBHmgAwIBAgICECkwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NDQxNloX -DTIyMDUxMzE2NDQxNlowgbYxCzAJBgNVBAYTAlVBMRkwFwYDVQQIDBBJdmFuby1G -cmFua2l2c2thMRgwFgYDVQQHDA9JdmFuby1GcmFua2l2c2sxGTAXBgNVBAoMEEZp -cnN0QnJpZGdlIEx0ZC4xHzAdBgNVBAsMFkJsb2NrY2hhaW4gRGV2ZWxvcG1lbnQx -GDAWBgNVBAMMD1Jvc3R5c2xhdiBHb2xkYTEcMBoGCSqGSIb3DQEJARYNdHhfaHZA -dWtyLm5ldDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAND5kGVyK4J2 -ozPOfNLVqm12PGXVp+tT1FFwG9UZ6Glosh01l1azYfNTDuJt+zFKbpgzZLYcZhks -oEcJlQK6/TiYlwvCkf7xHc/5sC0BHCPpJGcesVloanerP+Qg2Rhp3BvIu2kW1v6E -KiAiEKbAaefvIiufhGtnb7c5JpOhjrJW9CcJMCQESVNrKbMqT2E5u08nvWrVPoBm -3tu7MvVOdESV42qKWr4l58PL02JUJYoE6zFx54b4u7q/CXjkUvFR5i98JMhFmuEI -Q7FPJyb0IsspiPQI0t5tfNQwPtrI1004AgG08Qies9MP5ucfXuGY1y7G+CbD6785 -6RzIwXvFsVCAiKXGVOxvpy7si1o4feV2S7+re9aTQj11MEQYDWNYXVN+4vJwL9qX -qcqG9o01XMbLjVHq7AiBz13JoYenQPln7pbaQ5xLHBmgSzP6EJGQblZz23vq34Fd -9gokTCVSVWEYD/Dsly22Pi254NAhp+aXLVH4PdPD04RVzVnu2Xu+OkQBLYxa2/mH -NYfgaMrwBgKO9JHIqHb6c5JfFrXxkEhiKwX9/20EWpEu1E/XM61a9i7ZF2BaH39p -Fn8gWoL6q3cC0tAPTlOYu3J0ycpdIQm5UQecoBfyEiCH0M2+Zvhzt4lf04xloT/V -YFQ0Yf7kF+fxPRW33rIr2wwsEbwTyAN5AgMBAAGjgdEwgc4wCQYDVR0TBAIwADAR -BglghkgBhvhCAQEEBAMCBaAwNQYJYIZIAYb4QgENBCgWJkZpcnN0YnJpZGdlIE9w -ZW5TU0wgQ2xpZW50IENlcnRpZmljYXRlMB0GA1UdDgQWBBS5nIUCDZlHhOq1tDYX -IXRbPTs/bjAfBgNVHSMEGDAWgBRLFcdSx+KQe8U5aqVsyriIsvzJLTAOBgNVHQ8B -Af8EBAMCBeAwJwYDVR0lBCAwHgYIKwYBBQUHAwIGCCsGAQUFBwMEBggrBgEFBQcD -AzANBgkqhkiG9w0BAQsFAAOCAgEAqIAsBuaO/1+TLWN5RkUy1zh4haslSwe08R7D -54MnQl3DcpcpaDa045PVJkec06p5Z9RxuzzyYBmPH5SoQ/PPiGTq3La4HBvPMDtH -BsyRdwxZHRf70inCKRGHTAKupL+duyx0AwsF5V0n2xF5QkGZLoxhOULY0rcVfiGM -IwfnCFBZWRuN9MOS8PopgyjjT9uXLlaARz26SIwPPKpxQunwykN1QUDrmapzSDz2 -PeTRwsOPuYuXN/XOUq8DUE4qVoUO8cr64aXzWy5UDOPZLs9zxdO+yqyy6Vex9Qsv -uch3mNgoXeu/gxTJ+euCy/n6RtiZe3z06wth/1+5kav5kmDduwpsepk05ql7BnCi -y/Ke9KbIOnjnMUjl1xXbo2rG7XVj7IpucP3LRT4rLB0VAxWVjype97WC7u6e2vry -TRv5VYHyzELD8hZz84ajUQ6NaGH6DfwtOwEX0Gxj/FuNiX3TrhcHdw4uVo4UypyQ -d1GZt8RpOy09jjZu5PNxnlBDkw5Bi8FaDVg9PM3Gq3I/ZT5dG6Zu5104iv2CgkdD -QJc4PhPsq4rPOLtWmrJ/J2AqBD9vfxjoMiAjLlzvyj6BIiJdMFnLi8qQBQw+G7bW -k5hPJtW40OX0IIYd/jiKcTHB+0oBlBvI450DmuryH1m1ikMEqPB99YPGtef8m3WS -EXVXy1c= ------END CERTIFICATE----- diff --git a/apl-updater/src/main/resources/certs/2_1.crt b/apl-updater/src/main/resources/certs/2_1.crt index 7613ffec3a..1976448c67 100644 --- a/apl-updater/src/main/resources/certs/2_1.crt +++ b/apl-updater/src/main/resources/certs/2_1.crt @@ -1,37 +1,41 @@ -----BEGIN CERTIFICATE----- -MIIGeDCCBGCgAwIBAgICEC0wDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTEyNDEzMDMwNFoX -DTIyMDUxODEzMDMwNFowgZ0xCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ0w -CwYDVQQHDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgTFREMQwwCgYDVQQL -DANDT08xHTAbBgNVBAMMFEdlb3JnZSBEemh5bmNoYXJhZHplMSgwJgYJKoZIhvcN -AQkBFhlnZW9yZ2UuY29vQGZpcnN0YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEF -AAOCAg8AMIICCgKCAgEA75aMnpLfIWAuzX50072OR9Y5BxowLXggUE2wvTrUFwAo -1q8GETXK80xdhfZtMCkGlMvk8ldA3c+RPTXJIvjoDTGZOTERGOLxB32kSn74fPtu -yRUqktGMBI7JQM6My27owJtApIif2Xn7q8Qo8YguBmbzOEblO0FYVkd9IopePtvt -r/GvJStY0lNIQpXQEzdrK+QBIeXlBG1OiTswC2BU8MAc1SeZcF4fiLnPxT0m9KLF -60iIJ0WFBAmNYP8sQEnsEJRPzPm+rQhv1cAUzNPya9ZOubVqcHclKuzLfd7HOaJh -I7VPBjnd4FFMUzz3fk7jvT8uwvN5JeaU1V3g22bX/EZWmGchSJpFVCuxGdqj3TVn -eSh+D3WodzTobXC8oXxrGL6kDDRjYnLA74XngAFsDuT7yGpQoKQ1K3TL6Hkhwk+a -UMHJ3zi4ccOCNaC6TosJu9eNgXG1+SIBbKmBR59ltd6aLVlTk99nWBN3HsOs/Pnu -UITo36PdwouBTcKV6zQz1TezUsbYdQVfLQs/zvo88SmpNAuG7gcVXMCdd7TSGuk5 -Ac9xihO9hS8mmZouBymkuaugcji54vv4yBYoDXh2km9Ls/Ypcb5r/4jIh4DJFfs1 -5yqzq35smIl5cewVn9KEaETBetZ3Z5MdY8hMuZWPgPhqVVDRqOsnjpk5JmI2AQ8C -AwEAAaOB0TCBzjAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgB -hvhCAQ0EKBYmRmlyc3RicmlkZ2UgT3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUw -HQYDVR0OBBYEFIz6a4Hb4whZiQf2JYpAERgk6P8yMB8GA1UdIwQYMBaAFEsVx1LH -4pB7xTlqpWzKuIiy/MktMA4GA1UdDwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEF -BQcDAgYIKwYBBQUHAwQGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4ICAQAZZBJM -hw6dFMI3b9BCE3i49B2uxjRqtFRpNtOZoPgjVJzWvY+lwpJOXFVShQG67rt53xMM -SLcZvejQGJlQLLWJ0/BKDaeWpsrsoWfp9uNsy0xyhfeLxvsmQjdCDBLUC1/6Trhe -zVbSsQ7556wAHdPFS4x4BvssjdRPVmqckwT5GE5E2ATXYEuNHWDWktlFcCnaoc/P -lOSDQ3qkkVF8sFJnW0nH4nbQQHvyb0gzL+/MexIr3mqm93bXZJN/xbJ7jAgTPLwe -TWU5iCmdJPRxKOhuq6PUP3tJJs1ImT/1+6Hj+VENpOvwV2aeES9ahVCUYZwg4MgF -GTfNribVhpbzTrCALdGH7CBnXkAHYUP++Kr5+C9jXgfhesOGZCLlp1TAw0jrhNyf -bcCpRi24Vgca7b4G9nCxH7agbUo/BU31DEzlQ4K4PTh63NTAsJ4piXwSIFotaRNR -K5N84EN0D/EXlPFUafg5jC19S0RyoHw6SJ7zw5xhj/gxmo+ZLM4oLqJfT3ZX91/V -nNwc4O/cyoICooMMWnCfw6D8nqeWRNKzzN5MCjWL9ewmfm4L4VMKmzWzqKIGAuxK -Q33T/+YgeVsQFQEDy9+aD1rc7X8NHIY+VCEn7ZN3KbaZZ4XnZltn8NbsGLNSbda7 -XxD83EHKwf4mORRn5aX+/5biKe0/xCpfULYnvA== +MIIHQjCCBSqgAwIBAgICEAQwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVB +MQ0wCwYDVQQIDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgbHRkMSYwJAYD +VQQLDB1BcG9sbG8gQmxvY2tjaGFpbiBEZXZlbG9wbWVudDEnMCUGA1UEAwweQXBv +bGxvIEJsb2NrY2hhaW4gSW50ZXJtZWRpYXRlMScwJQYJKoZIhvcNAQkBFhhyb3N0 +eXNsYXZAZmlyc3RicmlkZ2UuaW8wHhcNMjMwNDE5MDczOTQ1WhcNMjYwNDE4MDcz +OTQ1WjCBkjELMAkGA1UEBhMCVUExDTALBgNVBAgMBEt5aXYxDTALBgNVBAcMBEt5 +aXYxFDASBgNVBAoMC0ZpcnN0QnJpZGdlMRMwEQYDVQQLDApNYW5hZ2VtZW50MRMw +EQYDVQQDDAppQWxleGFuZGVyMSUwIwYJKoZIhvcNAQkBFhZhbGV4YW5kZXJAaWFz +aGNodWsuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0cMdcBol +tODrqewlEgWT8CQcPgOeMdMisUZoHAtH5Bs8eqLJJUJomtyUXdkH18O7enMtBDqi +EqmA3GrPSd/HY2EWbjf6NIrxrIwtsCqG6qI6BqeWdnY37+yAxXyqrGVHOoz/eeAD +rSN6lojFJxg46M36HZUA61ztdJ/ux9bwfNZaX77d1Mk9YwrjEhJY3C8oTUXLX2Li +amo/NqE2RNfJFWuMb1b+ZIfH8bzX4SOL8l9nQxSGtX/f1wJFULQjX0clj7RXN4Gz +xoZls6hUVJZ3pw/47YnW2mgBVuuM/244Dzos3Vi+T2efKSFwc2o5UomhzzSQ/yW7 +Kn+dEYGet8LCg/3YSq8xiT3d6FMds/mWplDpSn6RRm9SoUpi2V784XGCFlFdia8K +LTwWfn44/+KioK2rD9KIZVsRkdmrChXQJ9mPMAijb2qSoZtXs/0vPCdyqLce7xix +DjRf3k6fS+hUyY75CnsKWWmi2CMqL5sCx9y+s5gfE7oCMb51Dg0gD0spc6neFjTQ +rIhtDqk37ZL788vN+/LXGbzjzA67pkjBVsh1Fc0I6oZmoWbtyob1S6c6XoqdED+w +9aa7hTz+zC45/w73qJxVs1sLj2ih2lKxlIadXhKZ14IVSQE63OCkvPcB1kICpRSQ +9mtmxR42+na0b47b+xhj+Bzg4rNPWqujhZsCAwEAAaOCAX8wggF7MAkGA1UdEwQC +MAAwEQYJYIZIAYb4QgEBBAQDAgZAMDMGCWCGSAGG+EIBDQQmFiRPcGVuU1NMIEdl +bmVyYXRlZCBTZXJ2ZXIgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFF7p5m5zIoRC/HUR +tARVpBn+gKeYMIHhBgNVHSMEgdkwgdaAFKLXRNeg1gOsmDESiwaINSPYsWGKoYG5 +pIG2MIGzMQswCQYDVQQGEwJVQTENMAsGA1UECAwES3lpdjENMAsGA1UEBwwES3lp +djEZMBcGA1UECgwQRmlyc3QgQnJpZGdlIGx0ZDEmMCQGA1UECwwdQXBvbGxvIEJs +b2NrY2hhaW4gRGV2ZWxvcG1lbnQxGjAYBgNVBAMMEUFwb2xsbyBCbG9ja2NoYWlu +MScwJQYJKoZIhvcNAQkBFhhyb3N0eXNsYXZAZmlyc3RicmlkZ2UuaW+CAhAAMA4G +A1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATANBgkqhkiG9w0BAQsF +AAOCAgEATRyW12JD2Kqbi8nQ5RyklwSunwSpXjWEpbEnlW0GmQTJb0K8LjXxYmsp +19so/DCoyPOakMndGoB6PwtxZv4pF1HBr8WM245IM8CFTNaLW61SAaGLgAgBDrLX +v6VxDDodpu1hXHOl+MWOU64Tm6A6QryL8yPqKATnIKiRMZx+zyS0BBmATMf0co9h +maMFXiST5Lv/Z7+7NRkeboCXxV3K9D/Za2p2WSJqKdx3azfOOLCG2++8+7W5pB6n +hZSrX1Ltu712a6id8gXmMaKNF9lABjxhk9R3jXrg1CaYxENpqiteffhb/3ZkfNjn +zKYcgKxVWGOkc+ezyLdYbqsoWQXT8bIaHNo+mE1xrKSDcSg0KNdvJCTtyXF/qQ/H +qjk9RTI13U/YcKP9hKacjIpYCGrpmYidceqK13wkhkr07R8kPWVEWap8AgDv1nTT +2qd5kyZH5DJHNrVCxZJlDCPOLbctwudHr0OpeO8VdXiV1gM1EjQvt9IHzd5UWPn2 +Y+mbYNSuzFJ+jMmRERGfKLUd5Ys7WWrvv7+RsQ8vaMyxbYsr42C0JsLdB1Jx4KmC +x6BE57KVhW12aLmKD4nIvqZ+iEDjQUcBtd26ZbR2Y6jQwXFi33vO3ChihcR1YsWJ +OnhcCg0+uMWAFYDxrM8hUEJjWjFVwepmcKAZfdEYxHqhpVJgDP8= -----END CERTIFICATE----- diff --git a/apl-updater/src/main/resources/certs/2_2.crt b/apl-updater/src/main/resources/certs/2_2.crt index 324f7fb970..a71984c7d9 100644 --- a/apl-updater/src/main/resources/certs/2_2.crt +++ b/apl-updater/src/main/resources/certs/2_2.crt @@ -1,37 +1,41 @@ -----BEGIN CERTIFICATE----- -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 -XXpr1M5IhZt0X6sHYkasdl3m/b8= +MIIHRTCCBS2gAwIBAgICEAMwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVB +MQ0wCwYDVQQIDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgbHRkMSYwJAYD +VQQLDB1BcG9sbG8gQmxvY2tjaGFpbiBEZXZlbG9wbWVudDEnMCUGA1UEAwweQXBv +bGxvIEJsb2NrY2hhaW4gSW50ZXJtZWRpYXRlMScwJQYJKoZIhvcNAQkBFhhyb3N0 +eXNsYXZAZmlyc3RicmlkZ2UuaW8wHhcNMjMwNDE5MDczOTIwWhcNMjYwNDE4MDcz +OTIwWjCBlTELMAkGA1UEBhMCVUExDTALBgNVBAgMBEt5aXYxDTALBgNVBAcMBEt5 +aXYxGTAXBgNVBAoMEEZpcnN0IEJyaWRnZSBMVEQxDDAKBgNVBAsMA1BNTzEUMBIG +A1UEAwwLRGVuaXMgRGVtdXQxKTAnBgkqhkiG9w0BCQEWGmRlbmlzLmRlbXV0QGZp +cnN0YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwS4P +eKtPyBIERclxmoeHz8TdXcWCv4WnlGKMjcdPYD+pvIj1qXOO3n4V6PznCEeJ/Iv6 +XpwLR/fkXZFhqzKeZEh32KLs058BN8VhPwZeHXp1Fy3/CJaD6A/MnYyNK77+6Cfm +d8SxRPzF+2NGtbQ4FwLs483Ux4JDMuY/4lQ79euYEuqPlauxoDhQ9TQBvPOfakvv +U16a0hhJhm791cpLEeLnmeOodIJZKyWQPrt0eMgDt0chn+u2acBEsFva4xCdpDt/ +YytqxcP1pBV2KG44FIn8MvWMNuWam8wDwJg/DtecDfa5RgO6JjpK+mtPOZrjGskQ +/LI+9EjApPoEsVIqnNl0WQ+usoggtFi+Gc2JQUcmwO9WjcGtMwUhGHfz0XhpHdFZ +8QWMqxwcO2z9yrR7R2UHN8E9DsGJdDlbJMH1MGjggBo7rBFF8bD8FLOxCjq2Z6Jc +2myUr99amwphqkw4GqR9zm+t2/CDyNNRr68AGO3GYHVx0I0y7HYBuT94X8EC+mnc +WOMBwTlHc0+ZNswN20JLM4ALc5UGx2MYGRufaP36wQvM1cloXvzJmMq5mdKFIj9Z +Xi1Wxc3+M8aV3sNAl1H1K+A7Rn/KoUq1esGgQ7yM06klLBixbWyZmPIIF8Ux4wsA +HFiGygTwZH9Hlx4+KOep+pXFbWpRWZsHfiyNKrMCAwEAAaOCAX8wggF7MAkGA1Ud +EwQCMAAwEQYJYIZIAYb4QgEBBAQDAgZAMDMGCWCGSAGG+EIBDQQmFiRPcGVuU1NM +IEdlbmVyYXRlZCBTZXJ2ZXIgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFL95JPonHIYF +cBtVVrRepzz1VhJgMIHhBgNVHSMEgdkwgdaAFKLXRNeg1gOsmDESiwaINSPYsWGK +oYG5pIG2MIGzMQswCQYDVQQGEwJVQTENMAsGA1UECAwES3lpdjENMAsGA1UEBwwE +S3lpdjEZMBcGA1UECgwQRmlyc3QgQnJpZGdlIGx0ZDEmMCQGA1UECwwdQXBvbGxv +IEJsb2NrY2hhaW4gRGV2ZWxvcG1lbnQxGjAYBgNVBAMMEUFwb2xsbyBCbG9ja2No +YWluMScwJQYJKoZIhvcNAQkBFhhyb3N0eXNsYXZAZmlyc3RicmlkZ2UuaW+CAhAA +MA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATANBgkqhkiG9w0B +AQsFAAOCAgEAlvhFCgtTQeZE4YJjGB6+IbC4i0OfQIjq/CIBgx+eyUmMSryypl+r +9ewzQowd9DwlpQQ+uNQORKJi+28dKRLWdgbSUOOqNERTmaAfQqpir3/S5dCq8cmM +SsFnL7j7gFXwwwipcKfxi2kR8IU2VcPrq5Rz+x8IsYTNdctcoj6KNlss8vkK2CCl +iYZ4VA42whkHkjClnpq6RYbsxYw/EaOCZ1wYC4wWneFC8uaOXJfJC0yhrMImCGZ1 +3gtl9Z66kd2NfVi6UXHCy58C1t5HZwRql/Bef1szH36HnkIJ1U2DDc5Q2X0OFU// +HwdpPp9KVVCW7Z4X8qWXVg5w+07ZKf2F/4hW5blO1RkqprUSfxCtVSeYOQHDA2Q2 +2Lrv3yXHPuC6KywcKCro3lEBeiz/maYDkHwmSXmwGf/mNDePE615zmSMRCH9yhkk +2i/pjfaLD44FKvEuLFbGMt+MDot6ttdeg7e2z9K9KMWee97p990JStFIQuX/z7JE +QF5MTKbc2wgtLax50DrIlTqp4fL1EhPixK729xTLa2tTc+5jH9cpINn0x4vN4HRd +NOxFmqQeRPrpW+Qnlhq4I2o+O1gRh2aWEKGYasU2I4mCqXq7PTe/GKfdCmuilUSF +lMidT++RKF6t892FfkJLDCJMno2YgC2d+AUfXoff3Ud8gIgTtRbBLA8= -----END CERTIFICATE----- diff --git a/apl-updater/src/main/resources/certs/2_3.crt b/apl-updater/src/main/resources/certs/2_3.crt index 5806a784a6..24db6d89fe 100644 --- a/apl-updater/src/main/resources/certs/2_3.crt +++ b/apl-updater/src/main/resources/certs/2_3.crt @@ -1,37 +1,41 @@ -----BEGIN CERTIFICATE----- -MIIGdTCCBF2gAwIBAgICECswDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTIwMTExOTE2NTgzOFoX -DTIyMDUxMzE2NTgzOFowgZoxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQsw -CQYDVQQHDAJCQzEUMBIGA1UECgwLRmlyc3RCcmlkZ2UxDjAMBgNVBAsMBURldmVs -MRkwFwYDVQQDDBBTdmlhdG9zbGF2IEdvbGRhMS4wLAYJKoZIhvcNAQkBFh9zdmlh -dG9zbGF2LmdvbGRhQGZpcnN0YnJpZGdlLmlvMIICIjANBgkqhkiG9w0BAQEFAAOC -Ag8AMIICCgKCAgEA2C813+Igz41/ihwSICa0z3HlYhRbRLyByRcKIFp6T/gvs+Mj -+fXrtp8Oodg64mekFW0bgehpqxyYYXkKIz3ObrkK7IUe6CjsctgIY4vdJ+tdK3OD -XCztQNCGtFfqV3/vLv47bq0lmTM342ekWR6NnUiMplIFFdb5VzjJmFQMLZRA6bYn -DQ4+6ml/RtypvVlhc0ey3bwKTMkpJoKylw6LXx6XMks+Y0Eyk/07bQKINOVq+lxS -4MgHsHTdLzd4v9lFldCNMKaMmx99uENDe4PuUVYAuagoQ/52sKEvXpoZJPtNOs9V -YaPfSnrfEyVHJ+M2Fr1ShNW0+v6WDzxjyLufd1514LnKIkXgALVYJnAjL3dxGdKf -Zk8LcNkDEDASceK2XXQTA6Yds86T+td2dKIsI/yGBSpp7mp5qvOsprIdx0nK6bbp -v+e1BZLdtgE0ZPjy0WAkqqZIt4W7MARmkjX8x5R5o0AGBstrDIQpLpHzGomQWVt4 -wEFC3M4Bu1Det//ODCbdXrVXWRirYUo4h4cYywGTQsEIV9yhAIOYntdSVSgRx9aI -+YNi30UVzBaCQFr2fNugk0YvKLr7lZ33tLj9gQBtTZjwo6/YcDj715VtY74IJTyg -mMbTE5N6qBrklO1dEiO3bHoiJeuiQLcfW0uIIaVlCNtSDXxQCqOBo0UX1BsCAwEA -AaOB0TCBzjAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIFoDA1BglghkgBhvhC -AQ0EKBYmRmlyc3RicmlkZ2UgT3BlblNTTCBDbGllbnQgQ2VydGlmaWNhdGUwHQYD -VR0OBBYEFNIHdAVizPNxy3KvQgALrCXMCT0bMB8GA1UdIwQYMBaAFEsVx1LH4pB7 -xTlqpWzKuIiy/MktMA4GA1UdDwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEFBQcD -AgYIKwYBBQUHAwQGCCsGAQUFBwMDMA0GCSqGSIb3DQEBCwUAA4ICAQA6Ssrhwly9 -M63egy/8M6FqPTxbxKb+0QSOI6MD0IExAUPK7VsAJinT9BkV1y0kZQyJ6AIihcf/ -z3p5vkrrlhTmEDquGV5DjSbAKZUA0GlWESMfl6bdDHy2Mgea5QFb5INIjFlg/KXs -i/IMTOOL9NEDW/J4O/JXkrVpMmpvxXzxQPyfP/XqukykZaiJ4AiVhtKtTSJj0VWp -JYDlEQN27c4s91JUzC5Gx3oQABGjEfFsdMVZ6CKlHU7nnpX16VQW5kiInPCvetSM -7ai6J785x9CUQD+yo6nglVqf8I/C+omVbZsOEdCYmKigOfAFtpSJmzDo6IfEsVzg -hrSuuR9k8OIAeMgKB/Uk2R1vpg3ME+B0NfVMeYHcpnbtgw7ZkHA2ZfTQe7eT1Z2Q -2pBLQdCWN73FQ1AQuJ/YqddmHQzZbvGlX6sBBsm+hWeAWxwP+ivEYXGyApYcjaMG -JQC2zeBaas9xQfzKJVkwDyqe5B1xWypJNf0gavlbc/WXq/IVZZqyHVIYlRf9CAFz -U81XtQtbe8RLZ9yxWTh+1vI/nKHcFRKKH2hGQNhIr1XyZe3HTktQyzgM2VmvybV+ -nBc0q5wGR/w/15XDxKfcLdVbp9ISVJ7+DR4HjZHepLIuR/SBCqagBh1jfR6RJraQ -zwNUEFI6YENbZxyA1Onbw5tIfpKfAC7m9g== +MIIHSjCCBTKgAwIBAgICEAUwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVB +MQ0wCwYDVQQIDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgbHRkMSYwJAYD +VQQLDB1BcG9sbG8gQmxvY2tjaGFpbiBEZXZlbG9wbWVudDEnMCUGA1UEAwweQXBv +bGxvIEJsb2NrY2hhaW4gSW50ZXJtZWRpYXRlMScwJQYJKoZIhvcNAQkBFhhyb3N0 +eXNsYXZAZmlyc3RicmlkZ2UuaW8wHhcNMjMwNDE5MDc0MDA1WhcNMjYwNDE4MDc0 +MDA1WjCBmjELMAkGA1UEBhMCVUExDTALBgNVBAgMBEtpeXYxDTALBgNVBAcMBEtp +eXYxGTAXBgNVBAoMEEZpcnN0IEJyaWRnZSBMVEQxDDAKBgNVBAsMA0NPTzEdMBsG +A1UEAwwURHpoeW5jaGFyYWR6ZSBHZW9yZ2UxJTAjBgkqhkiG9w0BCQEWFmdlb3Jn +ZS5kemh5bkBnbWFpbC5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQC20ZoUxcjRfmPpMwXfjS8Q62fpac/SQJe3o/l76RB4R/nWTKFfYxl0rfJcAl+i +0IJECp4JuVta+Bsq+FPvY7lE/sdOBamQqkJGyLIn4gy9e5Bt22oxpzmb1sedgZyC +Gcb9nwxRM2Gnu6RmDGZfZWL+IJUelb5PSzBIDWDaRPuHYvYA9WtDyLWpqG48X6GA +i1lZWhh6HJOFfq1loTDlXdQmyg7sM1ynuuoZg2ijPYUNHiezJpqN8AiaKEzEQARJ +etYpxkXXn8rSah7iH/9kolcqFeFwCvEOH1uItXoR4S6I6oHV6GEvHiuIvyZdcPCv +7LHoREBo6YE4HgwCqYnJgSVQhEp3geERUvvfRII+iOCti9oUyVX9MZOKBCRt405G +qaW3huCQOVeleKFDjP8NAYf9KQ77ODvB63895AkdelPq4QpD8bfALpNlMR/5r6Ht +/zpj7Ks7kuVlKCxphyj0r8zGiHSujlWzR8UUAZ9wImEq0LT4SDEZICGWEX+ktWBN +prr2vLPjgNaqpC43lHmydW6ALdRczeVcHj9qHMl6PaXPtxBPabuK8ZcjW63Pmv/5 +F9ZDUTkzr2zPN85Xthqf13Vz751Fk/U1F8N2x2ZDWUm+kzo2O+qGLvbE3fh8MK2L +z7SVAcqAdleAbp8HlErgvgJQIQfLAGe/vXHU6L9Hi47VlwIDAQABo4IBfzCCAXsw +CQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCBkAwMwYJYIZIAYb4QgENBCYWJE9w +ZW5TU0wgR2VuZXJhdGVkIFNlcnZlciBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUvETS +Y5/CS3XSpWLozInXqLlS1EEwgeEGA1UdIwSB2TCB1oAUotdE16DWA6yYMRKLBog1 +I9ixYYqhgbmkgbYwgbMxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ0wCwYD +VQQHDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgbHRkMSYwJAYDVQQLDB1B +cG9sbG8gQmxvY2tjaGFpbiBEZXZlbG9wbWVudDEaMBgGA1UEAwwRQXBvbGxvIEJs +b2NrY2hhaW4xJzAlBgkqhkiG9w0BCQEWGHJvc3R5c2xhdkBmaXJzdGJyaWRnZS5p +b4ICEAAwDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0GCSqG +SIb3DQEBCwUAA4ICAQAHGZxXRsQ1fq4bik2/28T9AtZplUdhS6mhM7ysT1ycnmiF +sD+n/P22fuPxFbMyDTlHl6TEMd+4sxXeT4QcNTy03xw0rDgOWkMBmqCMJcO2T8T9 +8hOgV5c+eo0UjNboXP4V+H1huO9qc5TNwo+v7zsX0DR4YP/DPlqYiZIlV2AaSqXR +Lz8UdRDe8TIs36a9nndVmi0Ie4FmfRB5xlomICotjKF0R+tDt36v4IfzppwYuqMD +2lpsaLqqLqRy0xNO2bZQLTozV30oupfz3szQhH3Zq62TVKj45FA4JJN1Qzfa7H8I +V3GRNoxvUqvmAbizDZYgEdrQa5GonDWLH13GDe8fQftkUF25PF31kH6EeCsNX40C +xnZLXOrnbiqJkMvW+812zddgPDquA34yRfFMNCjVHs3O8YDgwnrUfUYlz/14ijOG +CoURLokN1o/zjx7w4S5YrAP15it2poAlDOrPhVkmp+QoSOEumMqaJ0kKmSBdAQ3B +pPpMPonauW+gXBICACYSe/PFCONSq/77U5rPEFg8PZBFI+rW7G3/sSM1lSJQuxc8 +NymNMus/EgAm7fz9DXPuankNcsEx7px8gFCvHQp5JRv5jdSurvVJJHw7voPhNGmo +EQmJIEFdad/ZIdMobKyIskiN+uyZFARo7LNG/rRVMFv5g0B4x8vgmtGgTaAi9w== -----END CERTIFICATE----- diff --git a/apl-updater/src/main/resources/certs/CAintermediate.crt b/apl-updater/src/main/resources/certs/CAintermediate.crt new file mode 100644 index 0000000000..e7dc8f1011 --- /dev/null +++ b/apl-updater/src/main/resources/certs/CAintermediate.crt @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +MIIGSDCCBDCgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgbMxCzAJBgNVBAYTAlVB +MQ0wCwYDVQQIDARLeWl2MQ0wCwYDVQQHDARLeWl2MRkwFwYDVQQKDBBGaXJzdCBC +cmlkZ2UgbHRkMSYwJAYDVQQLDB1BcG9sbG8gQmxvY2tjaGFpbiBEZXZlbG9wbWVu +dDEaMBgGA1UEAwwRQXBvbGxvIEJsb2NrY2hhaW4xJzAlBgkqhkiG9w0BCQEWGHJv +c3R5c2xhdkBmaXJzdGJyaWRnZS5pbzAeFw0yMzA0MTkwNzEyNDdaFw0zMzA0MTYw +NzEyNDdaMIGxMQswCQYDVQQGEwJVQTENMAsGA1UECAwES3lpdjEZMBcGA1UECgwQ +Rmlyc3QgQnJpZGdlIGx0ZDEmMCQGA1UECwwdQXBvbGxvIEJsb2NrY2hhaW4gRGV2 +ZWxvcG1lbnQxJzAlBgNVBAMMHkFwb2xsbyBCbG9ja2NoYWluIEludGVybWVkaWF0 +ZTEnMCUGCSqGSIb3DQEJARYYcm9zdHlzbGF2QGZpcnN0YnJpZGdlLmlvMIICIjAN +BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAzwGv7VvtcFya4tAH/tConnhYhRxi +i11tPIvtJj8hmo6ptCFvAZzkiMGZ6y9HR827R35AmbZbzeT+oIoEmxScF03yQGRl +rbjQD19D+Dp5w4vRBQupQCGVX2ujD4zbeQliz1olO2J/GSc3wHQHMzXn/Nj7wVGC +XZg/ilvK5mIZlVxZaGC78lR7E7jlgYwJzg+pTwVN39Vjjhzzvq8RproRRYDcSVKH +ZSegRPMvt+haN5lsQjtiL0XXzwBbAQptLUXL1mAFj8qkc3OL4oV8llHnZVkBgkQY +PVR/096jbdmYA0a81ATYxrdt6NQ61xAGMvcy3FgzLMbHoinX6t4yMwOqjvXOn1CS +QTnEgkpTXii5/lXKNwWrj7CxNCjEMpL9qFLNrRTVjbD8kgp5+sX9QZe4efFyx3DO +PU9lUNxgV/ysT9eSrPskV9/cyLNLnS5DQyX1Ngj5QoDRAn0i+3KyXg7yN9XUzKIj +igG4jJ6ExsEvyRjVA6HxeOJuJt1zcdhQeO7N9Z6fbAjXNWKazV0/UAHKQmcQvy9k +WoFDzLNf+huhGUP+1iVJh9B8nTqgBwYI4dabRwnFqTNENn2J8j98fW32zNrn/j2x +Xr3VYYzm/eCx5tY2R94nosfIOfqaxlWWJdAHuhjXpAtgkhiCg8jnCvWrxmSkZryX +dRACq7LYKzWzxZUCAwEAAaNmMGQwHQYDVR0OBBYEFKLXRNeg1gOsmDESiwaINSPY +sWGKMB8GA1UdIwQYMBaAFFTiHmQb8UCtRmTPGi744iVtwRmGMBIGA1UdEwEB/wQI +MAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQB3BOuP +j5QzeIJaEumnYMgUBGKijJNZynO6VwQvBaxykXBuKmbNzV1QyW8AX5AlScZ9DDuS +m74ZFZNBkb1NJURi5uDSXPk4mANCij/m4JMk1li9DRgRlT8gjMf/mpJot8S6fsud +s+W7GgsGdrElMzQmOkv5jMZuV457+2fpKOuWfCjCAsle0TKZcA+qi490sLzDVf3s +umX+HfYVduauTePqjL3SHQcK3zqXCYNgQr1FmODyBor3lJzMFb9RTxA752qogZEx +Ve5lbfIXUNvwxJBh8mipvK9koYwOSlBrSpaI9vwM0+Ur4RILgENCD+7OnuqPA2mp +YDgwcFeGbJu05A1rUe0akp/LOap8NvR4UehWnKm6myj4Dnuc1woJE9ZD33neQ62l +vWG2edFYJPOF3xS8cVJ5EfqA+4XpFvlSi5hhH7I0sjCPOHDr5PDBztUb6pWOcIac +IEaWN4mv7NuVJL/M2e3nrdTI7CLb3ahW8saeVisUy+JPfk5WXULng2xmSJN4MlF1 +S5C7GO4Qmacd2ddsKpFXd1Psc7Xb/NEJqBl3S06uhw4bPS5TzBYq5kdQKKKgqtGf +/1PSiwGyKg14fuoLmlPC6WAWh4GWWpcssTPZAadqkw0fBNAXS07SYGJmU0ryLQ2X +RKDX2/q8CQLv7+TOilSFEjmf5vLGpetD2RfMlg== +-----END CERTIFICATE----- diff --git a/apl-updater/src/main/resources/certs/CAroot.crt b/apl-updater/src/main/resources/certs/CAroot.crt new file mode 100644 index 0000000000..74a1894012 --- /dev/null +++ b/apl-updater/src/main/resources/certs/CAroot.crt @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +MIIGWTCCBEGgAwIBAgIUFz5OcQaPnWOzsDgWeYn6ce7k/iAwDQYJKoZIhvcNAQEL +BQAwgbMxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ0wCwYDVQQHDARLeWl2 +MRkwFwYDVQQKDBBGaXJzdCBCcmlkZ2UgbHRkMSYwJAYDVQQLDB1BcG9sbG8gQmxv +Y2tjaGFpbiBEZXZlbG9wbWVudDEaMBgGA1UEAwwRQXBvbGxvIEJsb2NrY2hhaW4x +JzAlBgkqhkiG9w0BCQEWGHJvc3R5c2xhdkBmaXJzdGJyaWRnZS5pbzAeFw0yMzA0 +MTkwNDM0MzZaFw00MzA0MTQwNDM0MzZaMIGzMQswCQYDVQQGEwJVQTENMAsGA1UE +CAwES3lpdjENMAsGA1UEBwwES3lpdjEZMBcGA1UECgwQRmlyc3QgQnJpZGdlIGx0 +ZDEmMCQGA1UECwwdQXBvbGxvIEJsb2NrY2hhaW4gRGV2ZWxvcG1lbnQxGjAYBgNV +BAMMEUFwb2xsbyBCbG9ja2NoYWluMScwJQYJKoZIhvcNAQkBFhhyb3N0eXNsYXZA +Zmlyc3RicmlkZ2UuaW8wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCk +qjPeucp7aY4KBR0GIBdIWhAzu9yylLqJ3duwLTAjq6e2//IFnox1AIPH5vecvcm+ +gyseEh/cvfKvKxZX8zr2I0uYKePQr0o2oLwbccJiQ8nSLVsNbrgTFhYP9T994Ob9 +1xqlDjkltL2FNOj3lz7WUUB2PjK1Sc9xGcmT+3Ra+r+3hgTIV2IYd2KAN9JQVOOH +Cjhb77AlEIinSvO6GtpQA88NlMrl0yR5cl+V7KbcLZgXGyY3OuTL+f0FmO/F/gmy +RP0tgMijJ5ilDNuulvMg3xQfWGVhaAkRhfSuvtmfbug76S75ijpvP79OkjJ8C0ej +PmRNWtWPwQABjBL0Asu+NqnFLeF0NP9Y4NBzDAvIC8ISdHDQ/NoYrhuOllu7MU95 +hOUv7AdZsMob91/Hx1yP49TjPkwxfvHS2NjdKJbBOA5+WLmDs1iQWjAV6awtU4nt +Rwbfretw0BLPyaImuBLI0aNEcI4JYDKz8mSqJLNhc4AR4v/IXdLOKbI15Ts67cbz +IBWfVZKsnZmo8KFOSbsm+pLX8KsvWg9ITZNjp9/x13GnCcgVAKl32CuB8m8X3cNi +55cEk6R6AoIkAHCYBgJdlk9b41U/Kj6BR+4dNkhKjk8l368uKUKEnkGyS7muDTW3 +oXyhNoPF4oY/jS9HXZhP4wCOplfsq+ybUJNqGwU5UQIDAQABo2MwYTAdBgNVHQ4E +FgQUVOIeZBvxQK1GZM8aLvjiJW3BGYYwHwYDVR0jBBgwFoAUVOIeZBvxQK1GZM8a +LvjiJW3BGYYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZI +hvcNAQELBQADggIBAAUarn40VJFo3AknFZEGJ8vqV5CWhMGHb9CIp/fLNm5XQZdn +r6GcUh15xxv4E1A+VYmjRr/jgtCLaYD5hd9/DdSPsRuHQ5TTY1R3sE9gloXaMibV +cUhwFu2rwZu237b0oNr7HcnIwleV8bK52TISvFGWGdkcPIUCS7+PLj+PA5EbY/TL +Rknty1wKgM+vi8ILTWwixtcPmeeOejWUwkYuRjTxZoXFxqoCX/kNpYcHeq8kLuQ8 +vl+KWgnVFyFQdfgvXy8PnQIR52eiqgWNcxbWo+HxKMmxJT3KjGumvO5hLnT4cPos +uSdA/aKDOA1Biw39fFiy6dl1Dk6Tfbm5t2KhT6UJLbBGs2vn6fyHhFdQXQ8GQbVP +9M4agj/keZdfBN/XJKwKmESn1x0qvrEt98sBrJkNhuuiPGyLzybm4hIdOWNPBhae +LV5ysuP/KVsvO1VFIkYUYlbz7W2MobwWeQBWGViBDTmG7CMi+TqTXzaHlm3eQcaJ +0JD5FycpYA7B2EUTs72JtcxFBZgQ1Q6jRpsu81kShNNrxqf1lsjK++CQBT/GowtN +eU2fvJg/F/hTVjvtBI4viB8JgZ5DiOm1cKHcRHSETf8JssDyJlC2DlfAGuyDRgtJ +xYvzvkZv9292P2s9asnsrmG3muLs5LdIHie13mJOdFQ2EQVQ0XFOn9qq8JQC +-----END CERTIFICATE----- diff --git a/apl-updater/src/main/resources/certs/intermediate.crt b/apl-updater/src/main/resources/certs/intermediate.crt index 5d0832b4bd..0fee91609d 100644 --- a/apl-updater/src/main/resources/certs/intermediate.crt +++ b/apl-updater/src/main/resources/certs/intermediate.crt @@ -1,35 +1,36 @@ -----BEGIN CERTIFICATE----- -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 -loQcZYg/Dw== +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 +NSNmMr0H -----END CERTIFICATE----- diff --git a/apl-updater/src/main/resources/certs/rootCA.crt b/apl-updater/src/main/resources/certs/rootCA.crt index dbe28ae482..5038aef6fc 100644 --- a/apl-updater/src/main/resources/certs/rootCA.crt +++ b/apl-updater/src/main/resources/certs/rootCA.crt @@ -1,35 +1,36 @@ -----BEGIN CERTIFICATE----- -MIIGEDCCA/igAwIBAgIJAKcFbXmIl10mMA0GCSqGSIb3DQEBCwUAMIGUMQswCQYD -VQQGEwJVQTENMAsGA1UECAwES3lpdjEOMAwGA1UEBwwFUG9kaWwxFDASBgNVBAoM -C0ZpcnN0QnJpZGdlMQ8wDQYDVQQLDAZEZXZPcHMxGzAZBgNVBAMMEnd3dy5maXJz -dGJyaWRnZS5pbzEiMCAGCSqGSIb3DQEJARYTcm9vdEBmaXJzdGJyaWRnZS5pbzAe -Fw0xODA2MTIwNjQzNTNaFw0zODA2MDcwNjQzNTNaMIGUMQswCQYDVQQGEwJVQTEN -MAsGA1UECAwES3lpdjEOMAwGA1UEBwwFUG9kaWwxFDASBgNVBAoMC0ZpcnN0QnJp -ZGdlMQ8wDQYDVQQLDAZEZXZPcHMxGzAZBgNVBAMMEnd3dy5maXJzdGJyaWRnZS5p -bzEiMCAGCSqGSIb3DQEJARYTcm9vdEBmaXJzdGJyaWRnZS5pbzCCAiIwDQYJKoZI -hvcNAQEBBQADggIPADCCAgoCggIBAK0Owbv0qmLsUzLrfcOGObNBXSVNplD33+is -H1sjV3lAjHIWIywwLZMXcCUM8WWV32UocVnb4FPO2d76IWCviZAl54atRlDfL2rv -H+hYUCSXV60B0+1uDcSPr4+tq3yDgChvl73OtQDNa48UV9x+jPmUV3LGOrN/oqbU -8yNt7m8//gKcwQSxjWe6+VT+ZIVVlbVeUG4M+qWPaQMZsQZIElPjeaF9mz/dFImz -MwBFmCA7k03KaX0Qn7XKHrkhp52a+oa0sHk2F2B58NaQPwdUwUF9D6kB2PjD+Ev5 -RfF8gNdqTmY2Ufwiy0vCMB3micEJ0nDHK9/u7EnsGspHExvYQ4/x/hVktL29WWwv -OHqUd5cmsILGS4FuyQZ/jmZtw8AAhNhyImhLwFv0/iqvOby/lhmKBeSEYA8O1WCr -6by4+HiEzXmZ4MRokq/QxZKJ2WskTs8RL+FuzgtG7wvGkzRKmz5G4u+DzPsZs7ig -WV9K9CHsl5HCAn2FSCidRnmPen7592THzl7W/7dT9kmmA19dVtIqV86NUlB/5lf9 -i6oBeHXzBnreAtKuLB7XiNA1tCqo1dYPN3wNQEcqracbmM/RHK/BBfxAJvofgLLb -SN4gKj4mfprhT0V9tOFoWBZ1haFzQD6Oom3KcA0kjX3GESmld6mvxHLeKxTFvpoq -JgwiGxHvAgMBAAGjYzBhMB0GA1UdDgQWBBQC945QrkpuLT0cb9kkR+WXQXzKdzAf -BgNVHSMEGDAWgBQC945QrkpuLT0cb9kkR+WXQXzKdzAPBgNVHRMBAf8EBTADAQH/ -MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAaozG0E1WLt2MpAx4 -8c85BnYU2tNND+1ZU8SPYqHSOE3ZrpWnZwbOKiJGZ2jT33Sr/MLjabR9XQWZK4H3 -X2LasuIb6il/aPiJ/7sl3VLnu03wDa7YraRdpPL0B7M/zmKb2VjnsnrkRw1GHuKO -KnA6f3EhwCnUfARD0GSGKBvS+Rl+qhfhqXAN/Lpr4sCZnvaxfADwCulsh0ZsrIcw -YIZtOVkvZvI87q0txbC4K+TF5yfhKDdD0zuCnvQSEuNsLDsPx/S1GhhG4mXtJyDY -GGB9e1zh7GMRhloBkLgMd0g2FJf4EEK6dcHDHLul3HSyIsikr0f8gaOIoFFPD8bj -wno7npDSFkkY8zwTkx+a0y87CQSnj5Ko6st3ohZLO6g/KijH00cn8WEgxEdiG7Vw -Y4WgezCmLCjVFnLS4VRnwZW32iPZjWkwF6/FImSuiAIgZfT9q5n6dCLwHHUxPu7Q -V3FEA5mgJWZba/fPscfoa163pPoPaxZALBTLXdgVEv1KQUELtrwOGm5s796kj7VX -gxlj4TBMtURXKcuns7QAEKJDeKhnv8R5Oh3j5MkYRvTcyE+RfW5ewJRtiI2lv1ds -pOW3zIgJWY2I9HVHUDXmbskPMJjcPZpv1M6Me3id4bAWDP3I1SHu0mzqE5qXy5/l -5YyJ/mouRe1kokM1lAYIrb6HsLQ= +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 +VDM7vPwN9QrsYfJQvKzTbzaOKCwko/0= -----END CERTIFICATE----- diff --git a/apl-updater/src/main/resources/conf-tn1/updater.properties b/apl-updater/src/main/resources/conf-tn1/updater.properties deleted file mode 100644 index 926524c39e..0000000000 --- a/apl-updater/src/main/resources/conf-tn1/updater.properties +++ /dev/null @@ -1,22 +0,0 @@ -#### UPDATER CONFIG#### - -# Number of attempts to download update package -updater.downloader.numberOfAttempts=10 - -# Time in seconds between downloading attempts -updater.downloader.attemptTimeout=60 - -# Path to program which will execute updater's platform dependent script for windows -updater.platformDependentUpdater.windowsRunToolPath=cscript.exe - -# Path to program which will execute updater's platform dependent script for linux -updater.platformDependentUpdater.linuxRunToolPath=/bin/bash - -# Path to program which will execute updater's platform dependent script for osx -updater.platformDependentUpdater.macOSRunToolPath=/bin/bash - -# Minimum number of blocks which should be pushed into blockchain, before important update will start -updater.importantUpdate.minBlocksWaiting=10 - -# Maximum number of blocks which should be pushed into blockchain, before important update will start -updater.importantUpdate.maxBlocksWaiting=20 \ No newline at end of file diff --git a/apl-updater/src/main/resources/debug-certs/1_1.crt b/apl-updater/src/main/resources/debug-certs/1_1.crt index 6a3edcd92d..5e290550f7 100644 --- a/apl-updater/src/main/resources/debug-certs/1_1.crt +++ b/apl-updater/src/main/resources/debug-certs/1_1.crt @@ -1,37 +1,33 @@ -----BEGIN CERTIFICATE----- -MIIGdjCCBF6gAwIBAgICEBgwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTE5MDQwMzE0MzI1NVoX -DTIwMDQxNzE0MzI1NVowgZsxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ4w -DAYDVQQHDAVQb2RpbDEUMBIGA1UECgwLRmlyc3RCcmlkZ2UxDzANBgNVBAsMBkRl -dk9wczEbMBkGA1UEAwwSd3d3LmZpcnN0YnJpZGdlLmlvMSkwJwYJKoZIhvcNAQkB -FhpkZW5pcy5kZW11dEBmaXJzdGJyaWRnZS5pbzCCAiIwDQYJKoZIhvcNAQEBBQAD -ggIPADCCAgoCggIBANPHEHKhHhTaWM0QpK5Gabkg5c25JfCCYQYAGSd5vc6i8+7/ -WAYhg4nwar02GCX43PlQel331r+HKey3Tq0VXFHOYAUv8LSe3IRbEzD8lsPs1qfx -5/MEGgecfXt7jAWCZttpYkJ0ziyGn+qh68mKkEtQe6TsFyS5fqyhpoLCPG9ocwdv -1GzVvhT/F5AB0idv5ADk0q2JU3jZ1Y9b9Izncf6KJrOcF/YfkFuqkOjjzK+jg0dI -kvClrQDv6gNtIb75RYs2OUmBazGxay2nttGPTzxYvwyump+54JYaS1UGlypJ9cdb -IySZI8n4Wu+mBP0+imsUFT4Q16XVZZNZ8FsB6xLy/PBBpZkPlPZ/j/bKmlpSO2Hf -xCoLuXHTzTrOlEbE05iXdKqtV0M0CTMVRnkLMelrEWTTQ58RqtVBatsIsuR86CjN -8EAP+4CTwP+S0IQtk2fDOaJVN2aQu+00kuDs1iSgrc7kNHrlNhVPH5v8BZWcKjNZ -gOi3mIWexHaL+T4fu1RPGUDAWTQrMTCrYIay/mcYXxFa/NvilD3luWCjDmsMxTIk -gL07v2OFbjJSOCHnWJt/L1SdAo2dS/yl666rAfDaR88AaVnGtGdw1ufH8jfIjElF -ABXMmvrP0806ojg3lTbh3t9AzqiUvM8xbJx6VZUn/H/PmqumcIT6ICddRSgNAgMB -AAGjgdEwgc4wCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCBaAwNQYJYIZIAYb4 -QgENBCgWJkZpcnN0YnJpZGdlIE9wZW5TU0wgQ2xpZW50IENlcnRpZmljYXRlMB0G -A1UdDgQWBBSiaFbE5vDkmOUtVNFuKX2R+ixPlDAfBgNVHSMEGDAWgBRLFcdSx+KQ -e8U5aqVsyriIsvzJLTAOBgNVHQ8BAf8EBAMCBeAwJwYDVR0lBCAwHgYIKwYBBQUH -AwIGCCsGAQUFBwMEBggrBgEFBQcDAzANBgkqhkiG9w0BAQsFAAOCAgEAX7T3DJ3b -ACK4QTjDyRNO28xlLTTTSzezFeIKeY8HN1gxL7hoXq5DctKGEx4GMr98bKFFAiwo -ZxMe8OmSxbfundt0Hjo4LWEEleSxVPYafVGPWA0Q6tMRjLnm2ZEeiy8s0i79TlCK -HieoR1yT3X1tShCTzCyH6Gh/4aYr+i2LZ6+BmBdipcqOQSN/kMhxMQ5bLOdJfu5S -ZRAULupTl+38fkvbQZPzynLcFIyLLXcEGuy/kr0DG8gTBLQ/GcWMvFf0ogfQrt7i -839kvPadBzZzPLehSXv657pvhXM4bJE9zwOtIgr0tWZnb6ve7/9QnsZA5H0k7Xa4 -MxK4IqTkbhnK7AUdazMKs9QXJy7VyX41p0jag5VEr5g3ftyEZBUgJKNB1H0IYrVp -loxBVnQp0bROjaTlA1IXZBaWTGEJArfNGbqKBQwoHiMfC0wyoryjxiMbbQiBLs/d -ItLtn1ntu3WTIlcGXKlqmUbUwfw2fKZTupFFFbgpASnMurQmqKoHY/vD2lRCE9eI -tvi4jXkR3P1QY7l848bz3Jm1FvHAk+TCCy5Prc1qz9uYBeYZQw1OA0CyZxH/2JTC -dVio4KTVrbhwPvV1K4JdLwFxsMrUlkpGZr+BE9zsJaNkdnERj6/bDQhZ/KlHzj+p -WAN1ZhzLqbzkvvHs64CQUvbuVY7Ip2TF2S0= +MIIFqDCCA5ACAhABMA0GCSqGSIb3DQEBCwUAMIGmMQswCQYDVQQGEwJVQTENMAsG +A1UECAwES3lpdjEZMBcGA1UECgwQRmlyc3QgQnJpZGdlIGx0ZDEmMCQGA1UECwwd +QXBvbGxvIEJsb2NrY2hhaW4gRGV2ZWxvcG1lbnQxHDAaBgNVBAMME0Fwb2xsbyBJ +bnRlcm1lZGlhdGUxJzAlBgkqhkiG9w0BCQEWGHJvc3R5c2xhdkBmaXJzdGJyaWRn +ZS5pbzAeFw0yMjA0MjcwNDMyMzFaFw0yMzA1MDcwNDMyMzFaMIGLMQswCQYDVQQG +EwJVQTENMAsGA1UECAwES3lpdjENMAsGA1UEBwwES3lpdjEZMBcGA1UECgwQRmly +c3QgQnJpZGdlIExMQzEZMBcGA1UEAwwQQW5kcmlpIEJvaWFyc2t5aTEoMCYGCSqG +SIb3DQEJARYZYW5kcmV3LmJveWFyc2tpQGdtYWlsLmNvbTCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBAL82LxJnAmouFx/wxwdKqvYWcPErVvFvlz9TRdaB +14yVffVIgiWVuFyxFGQdaXYioyUfjhyK//5V+HJShFAlxNYaW+ChUCvMfZj9gE8p +Cg37pembRshK0ljgTY+UrjKySdyqqAoGa3+ho6ve42UskbL2UTF/3GrB8ji6YOuC +mbYv2ewNZ9YGHtQDTh8l01BGlVazBsIlWZQwKXxDTgxBHjmK4YDey9eCvVYVkoAJ +QaCw/c0C7kRtx3/eL0waoBq49zN2Pn5BTP5FjsAT6gz65owqB3Cx+TX/l0ki2ndB +r6lP+sDhMHHA4vACLp5aOl2Ls2kVAkTVPwX2skwXNeIU3c2duT3LryrRseiRgh/m +ZXfvjqAd5u4ZeAdqUULO/64wSCyCzo69QrfZ/hesGj39wAYZEMK05HvdUzMJwCXk +21TBfJupYU3uiBwLsVeBwLyKw2TDt3ruPL9NmwLYsXo+2J/PsLMbdv58bI333UPJ +dmx3lpVj43n0K5JGdzNe8YWo4Rp0vU40Cgtc8O2/KmCYRWxVM4V5wfuCOWD3vyTV +YXjMgcnw/jbL7JZqHnHMxK07KUA0tF+LacXLsNDpEYI9km+LJ9aqQakDMDHOYc6K +ImbgI1VEN7dqMLWJ002RiV0B3zz7D50gzTmsPkJmOUmPsUDN28lGUu84d2M0S8qH +B0OvAgMBAAEwDQYJKoZIhvcNAQELBQADggIBAHFi6Q+iRhv0HWuBWzNAbt3RthPY +63UPLCEL2l6fac6a18rTQjG3CKxVr/1+I0CY4PoT0KlsKTSWrYc11iq/T/r3wpti +9xlduQhx/1nUObUKuQeoyMKPk4AqzL/ePvdGEFbEaJB0CxgXDyFWbQMpo0y0RHxU +MK8Ielf69W2uydMbw0Ap1fNVbWN28+b8vRdWSRqOXW6spe5iOsu4CDc5Ok4R+uJu +hV3XBfNfMyJpJJ6lW6CpK8d3uWngY0yRpwXvoGyQIklwaQqhbyoWnBWG8SnKUHMV +njySmDhHcaFJ2LaRZJI81kxATacgBkcqEn0TwOhX1gAjLcOV1tVebprqOsuOw7Tu +WJ4Y1ci/Wvh0k56bUjAtj3fUb4N/TKrmw/6dkqGLZ6QpMUUTEP1ff1It9xq480tr +0uPNNwe+RX27SCELgBykWo1ihQ0r16Hg8fWdIeZFUPVMHq6FJ2xWZrgpaaqQrzR/ +42VowSrDVTscQl6Y5eQOMTP3LIWB1WxBTTaSV+WlhDov1T6O2bCNcGYAWtEnNXYa +emgzJZIjXzqhHFIJzHPQkBOZNnQZsB1DH1b5tyl+iKy17dE7+0jrJmRqPZAolJY7 +1pKCKDPfJnt3zG59305OEFE6/EXqX39yuuFwQJ+HIFWeDUdwcfR3n6DJcExy5fQV +Y0vfYetJmqtztHVB -----END CERTIFICATE----- diff --git a/apl-updater/src/main/resources/debug-certs/1_1.key b/apl-updater/src/main/resources/debug-certs/1_1.key deleted file mode 100644 index 3674d7c7be..0000000000 --- a/apl-updater/src/main/resources/debug-certs/1_1.key +++ /dev/null @@ -1,54 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -Proc-Type: 4,ENCRYPTED -DEK-Info: AES-256-CBC,6D4B14D4185FC328788E7C78F3D29047 - -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 ------END RSA PRIVATE KEY----- diff --git a/apl-updater/src/main/resources/debug-certs/2_1.crt b/apl-updater/src/main/resources/debug-certs/2_1.crt index 6a3edcd92d..5e290550f7 100644 --- a/apl-updater/src/main/resources/debug-certs/2_1.crt +++ b/apl-updater/src/main/resources/debug-certs/2_1.crt @@ -1,37 +1,33 @@ -----BEGIN CERTIFICATE----- -MIIGdjCCBF6gAwIBAgICEBgwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYTAlVB -MQ0wCwYDVQQIDARLeWl2MRQwEgYDVQQKDAtGaXJzdEJyaWRnZTEPMA0GA1UECwwG -RGV2T3BzMRswGQYDVQQDDBJ3d3cuZmlyc3RicmlkZ2UuaW8xKTAnBgkqhkiG9w0B -CQEWGmRlbmlzLmRlbXV0QGZpcnN0YnJpZGdlLmlvMB4XDTE5MDQwMzE0MzI1NVoX -DTIwMDQxNzE0MzI1NVowgZsxCzAJBgNVBAYTAlVBMQ0wCwYDVQQIDARLeWl2MQ4w -DAYDVQQHDAVQb2RpbDEUMBIGA1UECgwLRmlyc3RCcmlkZ2UxDzANBgNVBAsMBkRl -dk9wczEbMBkGA1UEAwwSd3d3LmZpcnN0YnJpZGdlLmlvMSkwJwYJKoZIhvcNAQkB -FhpkZW5pcy5kZW11dEBmaXJzdGJyaWRnZS5pbzCCAiIwDQYJKoZIhvcNAQEBBQAD -ggIPADCCAgoCggIBANPHEHKhHhTaWM0QpK5Gabkg5c25JfCCYQYAGSd5vc6i8+7/ -WAYhg4nwar02GCX43PlQel331r+HKey3Tq0VXFHOYAUv8LSe3IRbEzD8lsPs1qfx -5/MEGgecfXt7jAWCZttpYkJ0ziyGn+qh68mKkEtQe6TsFyS5fqyhpoLCPG9ocwdv -1GzVvhT/F5AB0idv5ADk0q2JU3jZ1Y9b9Izncf6KJrOcF/YfkFuqkOjjzK+jg0dI -kvClrQDv6gNtIb75RYs2OUmBazGxay2nttGPTzxYvwyump+54JYaS1UGlypJ9cdb -IySZI8n4Wu+mBP0+imsUFT4Q16XVZZNZ8FsB6xLy/PBBpZkPlPZ/j/bKmlpSO2Hf -xCoLuXHTzTrOlEbE05iXdKqtV0M0CTMVRnkLMelrEWTTQ58RqtVBatsIsuR86CjN -8EAP+4CTwP+S0IQtk2fDOaJVN2aQu+00kuDs1iSgrc7kNHrlNhVPH5v8BZWcKjNZ -gOi3mIWexHaL+T4fu1RPGUDAWTQrMTCrYIay/mcYXxFa/NvilD3luWCjDmsMxTIk -gL07v2OFbjJSOCHnWJt/L1SdAo2dS/yl666rAfDaR88AaVnGtGdw1ufH8jfIjElF -ABXMmvrP0806ojg3lTbh3t9AzqiUvM8xbJx6VZUn/H/PmqumcIT6ICddRSgNAgMB -AAGjgdEwgc4wCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCBaAwNQYJYIZIAYb4 -QgENBCgWJkZpcnN0YnJpZGdlIE9wZW5TU0wgQ2xpZW50IENlcnRpZmljYXRlMB0G -A1UdDgQWBBSiaFbE5vDkmOUtVNFuKX2R+ixPlDAfBgNVHSMEGDAWgBRLFcdSx+KQ -e8U5aqVsyriIsvzJLTAOBgNVHQ8BAf8EBAMCBeAwJwYDVR0lBCAwHgYIKwYBBQUH -AwIGCCsGAQUFBwMEBggrBgEFBQcDAzANBgkqhkiG9w0BAQsFAAOCAgEAX7T3DJ3b -ACK4QTjDyRNO28xlLTTTSzezFeIKeY8HN1gxL7hoXq5DctKGEx4GMr98bKFFAiwo -ZxMe8OmSxbfundt0Hjo4LWEEleSxVPYafVGPWA0Q6tMRjLnm2ZEeiy8s0i79TlCK -HieoR1yT3X1tShCTzCyH6Gh/4aYr+i2LZ6+BmBdipcqOQSN/kMhxMQ5bLOdJfu5S -ZRAULupTl+38fkvbQZPzynLcFIyLLXcEGuy/kr0DG8gTBLQ/GcWMvFf0ogfQrt7i -839kvPadBzZzPLehSXv657pvhXM4bJE9zwOtIgr0tWZnb6ve7/9QnsZA5H0k7Xa4 -MxK4IqTkbhnK7AUdazMKs9QXJy7VyX41p0jag5VEr5g3ftyEZBUgJKNB1H0IYrVp -loxBVnQp0bROjaTlA1IXZBaWTGEJArfNGbqKBQwoHiMfC0wyoryjxiMbbQiBLs/d -ItLtn1ntu3WTIlcGXKlqmUbUwfw2fKZTupFFFbgpASnMurQmqKoHY/vD2lRCE9eI -tvi4jXkR3P1QY7l848bz3Jm1FvHAk+TCCy5Prc1qz9uYBeYZQw1OA0CyZxH/2JTC -dVio4KTVrbhwPvV1K4JdLwFxsMrUlkpGZr+BE9zsJaNkdnERj6/bDQhZ/KlHzj+p -WAN1ZhzLqbzkvvHs64CQUvbuVY7Ip2TF2S0= +MIIFqDCCA5ACAhABMA0GCSqGSIb3DQEBCwUAMIGmMQswCQYDVQQGEwJVQTENMAsG +A1UECAwES3lpdjEZMBcGA1UECgwQRmlyc3QgQnJpZGdlIGx0ZDEmMCQGA1UECwwd +QXBvbGxvIEJsb2NrY2hhaW4gRGV2ZWxvcG1lbnQxHDAaBgNVBAMME0Fwb2xsbyBJ +bnRlcm1lZGlhdGUxJzAlBgkqhkiG9w0BCQEWGHJvc3R5c2xhdkBmaXJzdGJyaWRn +ZS5pbzAeFw0yMjA0MjcwNDMyMzFaFw0yMzA1MDcwNDMyMzFaMIGLMQswCQYDVQQG +EwJVQTENMAsGA1UECAwES3lpdjENMAsGA1UEBwwES3lpdjEZMBcGA1UECgwQRmly +c3QgQnJpZGdlIExMQzEZMBcGA1UEAwwQQW5kcmlpIEJvaWFyc2t5aTEoMCYGCSqG +SIb3DQEJARYZYW5kcmV3LmJveWFyc2tpQGdtYWlsLmNvbTCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBAL82LxJnAmouFx/wxwdKqvYWcPErVvFvlz9TRdaB +14yVffVIgiWVuFyxFGQdaXYioyUfjhyK//5V+HJShFAlxNYaW+ChUCvMfZj9gE8p +Cg37pembRshK0ljgTY+UrjKySdyqqAoGa3+ho6ve42UskbL2UTF/3GrB8ji6YOuC +mbYv2ewNZ9YGHtQDTh8l01BGlVazBsIlWZQwKXxDTgxBHjmK4YDey9eCvVYVkoAJ +QaCw/c0C7kRtx3/eL0waoBq49zN2Pn5BTP5FjsAT6gz65owqB3Cx+TX/l0ki2ndB +r6lP+sDhMHHA4vACLp5aOl2Ls2kVAkTVPwX2skwXNeIU3c2duT3LryrRseiRgh/m +ZXfvjqAd5u4ZeAdqUULO/64wSCyCzo69QrfZ/hesGj39wAYZEMK05HvdUzMJwCXk +21TBfJupYU3uiBwLsVeBwLyKw2TDt3ruPL9NmwLYsXo+2J/PsLMbdv58bI333UPJ +dmx3lpVj43n0K5JGdzNe8YWo4Rp0vU40Cgtc8O2/KmCYRWxVM4V5wfuCOWD3vyTV +YXjMgcnw/jbL7JZqHnHMxK07KUA0tF+LacXLsNDpEYI9km+LJ9aqQakDMDHOYc6K +ImbgI1VEN7dqMLWJ002RiV0B3zz7D50gzTmsPkJmOUmPsUDN28lGUu84d2M0S8qH +B0OvAgMBAAEwDQYJKoZIhvcNAQELBQADggIBAHFi6Q+iRhv0HWuBWzNAbt3RthPY +63UPLCEL2l6fac6a18rTQjG3CKxVr/1+I0CY4PoT0KlsKTSWrYc11iq/T/r3wpti +9xlduQhx/1nUObUKuQeoyMKPk4AqzL/ePvdGEFbEaJB0CxgXDyFWbQMpo0y0RHxU +MK8Ielf69W2uydMbw0Ap1fNVbWN28+b8vRdWSRqOXW6spe5iOsu4CDc5Ok4R+uJu +hV3XBfNfMyJpJJ6lW6CpK8d3uWngY0yRpwXvoGyQIklwaQqhbyoWnBWG8SnKUHMV +njySmDhHcaFJ2LaRZJI81kxATacgBkcqEn0TwOhX1gAjLcOV1tVebprqOsuOw7Tu +WJ4Y1ci/Wvh0k56bUjAtj3fUb4N/TKrmw/6dkqGLZ6QpMUUTEP1ff1It9xq480tr +0uPNNwe+RX27SCELgBykWo1ihQ0r16Hg8fWdIeZFUPVMHq6FJ2xWZrgpaaqQrzR/ +42VowSrDVTscQl6Y5eQOMTP3LIWB1WxBTTaSV+WlhDov1T6O2bCNcGYAWtEnNXYa +emgzJZIjXzqhHFIJzHPQkBOZNnQZsB1DH1b5tyl+iKy17dE7+0jrJmRqPZAolJY7 +1pKCKDPfJnt3zG59305OEFE6/EXqX39yuuFwQJ+HIFWeDUdwcfR3n6DJcExy5fQV +Y0vfYetJmqtztHVB -----END CERTIFICATE----- diff --git a/apl-updater/src/main/resources/debug-certs/2_1.key b/apl-updater/src/main/resources/debug-certs/2_1.key deleted file mode 100644 index 3674d7c7be..0000000000 --- a/apl-updater/src/main/resources/debug-certs/2_1.key +++ /dev/null @@ -1,54 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -Proc-Type: 4,ENCRYPTED -DEK-Info: AES-256-CBC,6D4B14D4185FC328788E7C78F3D29047 - -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 ------END RSA PRIVATE KEY----- diff --git a/apl-updater/src/main/resources/debug-certs/intermediate.crt b/apl-updater/src/main/resources/debug-certs/intermediate.crt new file mode 100644 index 0000000000..0fee91609d --- /dev/null +++ b/apl-updater/src/main/resources/debug-certs/intermediate.crt @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +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 +NSNmMr0H +-----END CERTIFICATE----- diff --git a/apl-updater/src/main/resources/conf/updater.properties b/apl-updater/src/main/resources/updater.properties similarity index 86% rename from apl-updater/src/main/resources/conf/updater.properties rename to apl-updater/src/main/resources/updater.properties index b37bc06d11..a1f50e29dc 100644 --- a/apl-updater/src/main/resources/conf/updater.properties +++ b/apl-updater/src/main/resources/updater.properties @@ -1,5 +1,5 @@ # -# Copyright Ā© 2018-2019 Apollo Foundation +# Copyright Ā© 2018-2022 Apollo Foundation # #### UPDATER CONFIG#### @@ -20,7 +20,7 @@ updater.platformDependentUpdater.linuxRunToolPath=/bin/bash updater.platformDependentUpdater.macOSRunToolPath=/bin/bash # Minimum number of blocks which should be pushed into blockchain, before important update will start -updater.importantUpdate.minBlocksWaiting=10 +updater.importantUpdate.minBlocksWaiting=60 # Maximum number of blocks which should be pushed into blockchain, before important update will start -updater.importantUpdate.maxBlocksWaiting=20 \ No newline at end of file +updater.importantUpdate.maxBlocksWaiting=120 \ No newline at end of file diff --git a/apl-updater/src/test/java/com/apollocurrency/aplwallet/apl/updater/AuthorityCheckerImplTest.java b/apl-updater/src/test/java/com/apollocurrency/aplwallet/apl/updater/AuthorityCheckerImplTest.java index b8f8919746..eaf68379a1 100644 --- a/apl-updater/src/test/java/com/apollocurrency/aplwallet/apl/updater/AuthorityCheckerImplTest.java +++ b/apl-updater/src/test/java/com/apollocurrency/aplwallet/apl/updater/AuthorityCheckerImplTest.java @@ -24,30 +24,30 @@ public class AuthorityCheckerImplTest { private static Certificate loadRootCert() throws CertificateException, IOException, URISyntaxException { - String testRootCAPath = "certs/rootCA.crt"; + String testRootCAPath = "test-certs/rootCA.crt"; Certificate certificate = UpdaterUtil.readCertificate(testRootCAPath); return certificate; } @Test public void testVerifyCertificates() throws Exception { - String testRootCAPath = "certs/rootCA.crt"; + String testRootCAPath = "test-certs/rootCA.crt"; Certificate certificate = UpdaterUtil.readCertificate(testRootCAPath); AuthorityChecker correctAuthorityChecker = new AuthorityCheckerImpl(certificate, ".crt", "intermediate.crt", "1_", "2_"); - boolean verified = correctAuthorityChecker.verifyCertificates("certs"); + boolean verified = correctAuthorityChecker.verifyCertificates("test-certs"); assertTrue(verified); } @Test public void testNotVerifiedCertificatesWhenIncorrectRootCertificate() throws Exception { - String fakeRootCACertificate = "certs/1_1.crt"; + String fakeRootCACertificate = "test-certs/1_1.crt"; Certificate certificate = UpdaterUtil.readCertificate(fakeRootCACertificate); AuthorityChecker incorrectAuthorityChecker = new AuthorityCheckerImpl(certificate, ".crt", "intermediate.crt", "1_", "2_"); ; - boolean isVerified = incorrectAuthorityChecker.verifyCertificates("certs"); + boolean isVerified = incorrectAuthorityChecker.verifyCertificates("test-certs"); assertFalse(isVerified); } @@ -56,7 +56,7 @@ public void testNotVerifiedCertificatesWhenIncorrectRootCertificate() throws Exc public void testNotVerifiedCertificatesWhenIncorrectPathIntermediateCertificate() { AuthorityChecker incorrectAuthorityChecker = new AuthorityCheckerImpl("rootCA.crt", ".crt", "intermediat.crt", "1_", "2_"); // - assertThrows(RuntimeException.class, () -> incorrectAuthorityChecker.verifyCertificates("certs")); + assertThrows(RuntimeException.class, () -> incorrectAuthorityChecker.verifyCertificates("test-certs")); } @Test @@ -64,8 +64,8 @@ public void testVerifyJar() throws Exception { Path jarFilePath = Files.createTempFile("apl-test", ".jar"); try { OutputStream jarOutputStream = Files.newOutputStream(jarFilePath); - Certificate certificate = UpdaterUtil.readCertificate(("certs/1_2.crt")); - PrivateKey key = RSAUtil.getPrivateKey("certs/1_2.key"); + Certificate certificate = UpdaterUtil.readCertificate(("test-certs/1_2.crt")); + PrivateKey key = RSAUtil.getPrivateKey("test-certs/1_2.key"); JarGenerator generator = new JarGenerator(jarOutputStream, certificate, key); generator.generate(); generator.close(); @@ -81,7 +81,7 @@ public void testVerifyNotSignedJar() throws Exception { Path jarFilePath = Files.createTempFile("apl-test", ".jar"); try { OutputStream jarOutputStream = Files.newOutputStream(jarFilePath); - Certificate certificate = UpdaterUtil.readCertificate("certs/1_2.crt"); + Certificate certificate = UpdaterUtil.readCertificate("test-certs/1_2.crt"); JarGenerator generator = new JarGenerator(jarOutputStream); generator.generate(); generator.close(); diff --git a/apl-updater/src/test/java/com/apollocurrency/aplwallet/apl/updater/RSAUtilTest.java b/apl-updater/src/test/java/com/apollocurrency/aplwallet/apl/updater/RSAUtilTest.java index fd06a13954..ea3e343837 100644 --- a/apl-updater/src/test/java/com/apollocurrency/aplwallet/apl/updater/RSAUtilTest.java +++ b/apl-updater/src/test/java/com/apollocurrency/aplwallet/apl/updater/RSAUtilTest.java @@ -35,8 +35,8 @@ public class RSAUtilTest { @Test public void testEncryptAndDecrypt() throws Exception { - PublicKey pubKey = getPublicKeyFromCertificate("certs/1_1.crt"); - PrivateKey privateKey = getPrivateKey("certs/1_1.key"); + PublicKey pubKey = getPublicKeyFromCertificate("test-certs/1_1.crt"); + PrivateKey privateKey = getPrivateKey("test-certs/1_1.key"); // encrypt the message String expectedMessage = "This is a secret message"; @@ -53,11 +53,11 @@ public void testEncryptAndDecrypt() throws Exception { @Test public void doubleEncryptAndDecrypt() throws Exception { - PublicKey pubKey1 = getPublicKeyFromCertificate("certs/1_2.crt"); - PrivateKey privateKey1 = getPrivateKey("certs/1_2.key"); + PublicKey pubKey1 = getPublicKeyFromCertificate("test-certs/1_2.crt"); + PrivateKey privateKey1 = getPrivateKey("test-certs/1_2.key"); - PublicKey pubKey2 = getPublicKeyFromCertificate("certs/2_2.crt"); - PrivateKey privateKey2 = getPrivateKey("certs/2_2.key"); + PublicKey pubKey2 = getPublicKeyFromCertificate("test-certs/2_2.crt"); + PrivateKey privateKey2 = getPrivateKey("test-certs/2_2.key"); String expectedMessage = "This is a secret message!"; @@ -73,11 +73,11 @@ public void doubleEncryptAndDecrypt() throws Exception { @Test public void testDecryptUrl() throws Exception { - PublicKey pubKey1 = getPublicKeyFromCertificate("certs/1_2.crt"); - PrivateKey privateKey1 = getPrivateKey("certs/1_2.key"); + PublicKey pubKey1 = getPublicKeyFromCertificate("test-certs/1_2.crt"); + PrivateKey privateKey1 = getPrivateKey("test-certs/1_2.key"); - PublicKey pubKey2 = getPublicKeyFromCertificate("certs/2_2.crt"); - PrivateKey privateKey2 = getPrivateKey("certs/2_2.key"); + PublicKey pubKey2 = getPublicKeyFromCertificate("test-certs/2_2.crt"); + PrivateKey privateKey2 = getPrivateKey("test-certs/2_2.key"); String expectedMessage = "http://apollocurrency/ApolloWallet-1.0.8.jar"; DoubleByteArrayTuple doubleEncryptedBytes = RSAUtil.doubleEncrypt(privateKey1, privateKey2, expectedMessage.getBytes()); @@ -93,16 +93,16 @@ public void testDecryptUrl() throws Exception { @Test void testDecryptUrlEx() throws Exception { - PublicKey pubKey1 = getPublicKeyFromCertificate("certs/1_2.crt"); - PrivateKey privateKey1 = getPrivateKey("certs/1_2.key"); + PublicKey pubKey1 = getPublicKeyFromCertificate("test-certs/1_2.crt"); + PrivateKey privateKey1 = getPrivateKey("test-certs/1_2.key"); - PublicKey pubKey2 = getPublicKeyFromCertificate("certs/2_2.crt"); - PrivateKey privateKey2 = getPrivateKey("certs/2_2.key"); + PublicKey pubKey2 = getPublicKeyFromCertificate("test-certs/2_2.crt"); + PrivateKey privateKey2 = getPrivateKey("test-certs/2_2.key"); Set pairs = new HashSet<>(); String expectedMessage = "http://apollocurrency/ApolloWallet-1.0.8.jar"; DoubleByteArrayTuple doubleEncryptedBytes = RSAUtil.doubleEncrypt(privateKey1, privateKey2, expectedMessage.getBytes()); - Certificate c1 = UpdaterUtil.readCertificate("certs/1_2.crt"); - Certificate c2 = UpdaterUtil.readCertificate("certs/2_2.crt"); + Certificate c1 = UpdaterUtil.readCertificate("test-certs/1_2.crt"); + Certificate c2 = UpdaterUtil.readCertificate("test-certs/2_2.crt"); pairs.add(new CertificatePair(c1, c2)); SimpleUrlExtractor extractor = new SimpleUrlExtractor(new RSADoubleDecryptor(), pairs); byte[] bytes = UpdaterUtil.concatArrays(doubleEncryptedBytes.getFirst(), doubleEncryptedBytes.getSecond()); diff --git a/apl-updater/src/test/java/com/apollocurrency/aplwallet/apl/updater/UpdaterCoreTest.java b/apl-updater/src/test/java/com/apollocurrency/aplwallet/apl/updater/UpdaterCoreTest.java index 5a6ee4f950..f392e6f0a3 100644 --- a/apl-updater/src/test/java/com/apollocurrency/aplwallet/apl/updater/UpdaterCoreTest.java +++ b/apl-updater/src/test/java/com/apollocurrency/aplwallet/apl/updater/UpdaterCoreTest.java @@ -5,7 +5,6 @@ package com.apollocurrency.aplwallet.apl.updater; import com.apollocurrency.aplwallet.apl.core.chainid.BlockchainConfig; -import com.apollocurrency.aplwallet.apl.util.db.TransactionalDataSource; import com.apollocurrency.aplwallet.apl.core.model.Transaction; import com.apollocurrency.aplwallet.apl.core.service.state.account.AccountService; import com.apollocurrency.aplwallet.apl.core.transaction.TransactionType; @@ -18,19 +17,17 @@ import com.apollocurrency.aplwallet.apl.udpater.intfce.UpdateInfo; import com.apollocurrency.aplwallet.apl.udpater.intfce.UpdaterCore; import com.apollocurrency.aplwallet.apl.udpater.intfce.UpdaterMediator; +import com.apollocurrency.aplwallet.apl.updater.core.Updater; import com.apollocurrency.aplwallet.apl.updater.core.UpdaterCoreImpl; import com.apollocurrency.aplwallet.apl.updater.core.UpdaterFactory; import com.apollocurrency.aplwallet.apl.updater.export.event.UpdateEventData; -import com.apollocurrency.aplwallet.apl.updater.pdu.PlatformDependentUpdater; import com.apollocurrency.aplwallet.apl.updater.service.UpdaterService; import com.apollocurrency.aplwallet.apl.util.DoubleByteArrayTuple; import com.apollocurrency.aplwallet.apl.util.Version; import com.apollocurrency.aplwallet.apl.util.env.Arch; import com.apollocurrency.aplwallet.apl.util.env.OS; -import com.apollocurrency.aplwallet.apl.util.injectable.DbProperties; -import com.apollocurrency.aplwallet.apl.util.injectable.PropertiesHolder; +import jakarta.enterprise.util.AnnotationLiteral; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; @@ -54,21 +51,14 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@Disabled @ExtendWith(MockitoExtension.class) public class UpdaterCoreTest { private final String decryptedUrl = "http://apollocurrency/ApolloWallet.jar"; - @Mock - UpdaterMediator updaterMediator; private UpdateAttachment attachment; @Mock - private PropertiesHolder propertiesHolder; - @Mock private UpdaterMediator updaterMediatorInstance; @Mock - private PlatformDependentUpdater fakePlatformDependentUpdaterInstance; - @Mock private UpdaterService updaterService; @Mock private UpdaterFactory updaterFactory; @@ -83,7 +73,6 @@ public class UpdaterCoreTest { @BeforeEach public void setUp() throws Exception { - doReturn(new TransactionalDataSource(DbProperties.builder().build(), propertiesHolder)).when(updaterMediator).getDataSource(); attachment = UpdateAttachment.getAttachment( OS.current(), Arch.current(), @@ -91,19 +80,29 @@ public void setUp() throws Exception { new Version("1.0.8"), new byte[0], (byte) 0); - } // UpdaterCoreImpl Init tests @Test public void testInitNotUpdatedTransaction() throws Exception { + // prepare CriticalUpdateTransactiionType type = new CriticalUpdateTransactiionType(blockchainConfig, accountService); SimpleTransaction mockTransaction = new SimpleTransaction(0, type); mockTransaction.setAttachment(attachment); - UpdateTransaction updateTransaction = new UpdateTransaction(mockTransaction.getId(), false); + UpdateTransaction updateTransaction = mock(UpdateTransaction.class); + when(updateTransaction.isUpdated()).thenReturn(false); + when(updateTransaction.getTransaction()).thenReturn(mockTransaction); when(updaterService.getLast()).thenReturn(updateTransaction); when(transactionVerifier.process(mockTransaction)).thenReturn(new UpdateData(attachment, mockTransaction.getId(), decryptedUrl)); + Event select = mock(Event.class); + when(startUpdateEvent.select(any(AnnotationLiteral.class))).thenReturn(select); + UpdateInfo.UpdateState updateState = UpdateInfo.UpdateState.NONE; + Updater updater = mock(Updater.class); + when(updater.processUpdate()).thenReturn(updateState); + when(updaterFactory.getUpdater(any(UpdateData.class))).thenReturn(updater); + + // create UpdateInfo updateInfo = new UpdateInfo(); UpdaterCore updaterCore = new UpdaterCoreImpl(updaterService, updaterMediatorInstance, updaterFactory, transactionVerifier, updateInfo, startUpdateEvent); @@ -122,9 +121,11 @@ public void testInitNotUpdatedMinorTransaction() throws Exception { MinorUpdateTransactionType type = new MinorUpdateTransactionType(blockchainConfig, accountService); SimpleTransaction mockTransaction = new SimpleTransaction(0, type); mockTransaction.setAttachment(attachment); - UpdateTransaction updateTransaction = new UpdateTransaction(mockTransaction.getId(), false); + UpdateTransaction updateTransaction = mock(UpdateTransaction.class); + when(updateTransaction.isUpdated()).thenReturn(false); + when(updateTransaction.getTransaction()).thenReturn(mockTransaction); when(updaterService.getLast()).thenReturn(updateTransaction); - when(transactionVerifier.process(mockTransaction)).thenReturn(new UpdateData(attachment, mockTransaction.getId(), decryptedUrl)); + when(transactionVerifier.process(mockTransaction)).thenReturn(null); UpdateInfo updateInfo = new UpdateInfo(); UpdaterCore updaterCore = new UpdaterCoreImpl(updaterService, updaterMediatorInstance, updaterFactory, transactionVerifier, updateInfo, startUpdateEvent); @@ -153,10 +154,12 @@ public void testInitNullUpdateTransaction() throws Exception { @Test - public void testInitNotUpdatedNullUpdateData() throws Exception { + public void testInitNotUpdatedNullUpdateData() { MinorUpdateTransactionType type = new MinorUpdateTransactionType(blockchainConfig, accountService); Transaction mockTransaction = new SimpleTransaction(1L, type); - UpdateTransaction updateTransaction = new UpdateTransaction(mockTransaction.getId(), false); + UpdateTransaction updateTransaction = mock(UpdateTransaction.class); + when(updateTransaction.isUpdated()).thenReturn(false); + when(updateTransaction.getTransaction()).thenReturn(mockTransaction); when(updaterService.getLast()).thenReturn(updateTransaction); UpdateInfo updateInfo = new UpdateInfo(); UpdaterCore updaterCore = new UpdaterCoreImpl(updaterService, updaterMediatorInstance, @@ -172,11 +175,13 @@ public void testInitNotUpdatedNullUpdateData() throws Exception { } @Test - public void testInitUpdatedCriticalUpdateGreaterUpdateVersion() throws Exception { - MinorUpdateTransactionType type = new MinorUpdateTransactionType(blockchainConfig, accountService); + public void testInitUpdatedCriticalUpdateGreaterUpdateVersion() { + CriticalUpdateTransactiionType type = new CriticalUpdateTransactiionType(blockchainConfig, accountService); SimpleTransaction mockTransaction = new SimpleTransaction(1L, type); mockTransaction.setAttachment(attachment); - UpdateTransaction updateTransaction = new UpdateTransaction(mockTransaction.getId(), true); + UpdateTransaction updateTransaction = mock(UpdateTransaction.class); + when(updateTransaction.isUpdated()).thenReturn(true); + when(updateTransaction.getTransaction()).thenReturn(mockTransaction); when(updaterService.getLast()).thenReturn(updateTransaction); UpdateInfo updateInfo = new UpdateInfo(); UpdaterCore updaterCore = new UpdaterCoreImpl(updaterService, updaterMediatorInstance, @@ -194,17 +199,17 @@ public void testInitUpdatedCriticalUpdateGreaterUpdateVersion() throws Exception } @Test - public void testInitUpdatedNonCriticalUpdateGreaterUpdateVersion() throws Exception { + public void testInitUpdatedNonCriticalUpdateGreaterUpdateVersion() { MinorUpdateTransactionType type = new MinorUpdateTransactionType(blockchainConfig, accountService); SimpleTransaction mockTransaction = new SimpleTransaction(1L, type); mockTransaction.setAttachment(attachment); - UpdateTransaction updateTransaction = new UpdateTransaction(mockTransaction.getId(), true); + UpdateTransaction updateTransaction = mock(UpdateTransaction.class); when(updaterService.getLast()).thenReturn(updateTransaction); + when(updateTransaction.getTransaction()).thenReturn(mockTransaction); UpdateInfo updateInfo = new UpdateInfo(); UpdaterCore updaterCore = new UpdaterCoreImpl(updaterService, updaterMediatorInstance, updaterFactory, transactionVerifier, updateInfo, startUpdateEvent); UpdaterCore spy = spy(updaterCore); - when(updaterMediatorInstance.getWalletVersion()).thenReturn(new Version("1.0.7")); spy.init(); @@ -213,17 +218,17 @@ public void testInitUpdatedNonCriticalUpdateGreaterUpdateVersion() throws Except } @Test - public void testInitUpdatedAllUpdatesLesserOrEqualUpdateVersion() throws Exception { + public void testInitUpdatedAllUpdatesLesserOrEqualUpdateVersion() { ImportantUpdateTransactionType type = new ImportantUpdateTransactionType(blockchainConfig, accountService); SimpleTransaction mockTransaction = new SimpleTransaction(1L, type); mockTransaction.setAttachment(attachment); - UpdateTransaction updateTransaction = new UpdateTransaction(mockTransaction.getId(), true); + UpdateTransaction updateTransaction = mock(UpdateTransaction.class); + when(updateTransaction.getTransaction()).thenReturn(mockTransaction); when(updaterService.getLast()).thenReturn(updateTransaction); UpdateInfo updateInfo = new UpdateInfo(); UpdaterCore updaterCore = new UpdaterCoreImpl(updaterService, updaterMediatorInstance, updaterFactory, transactionVerifier, updateInfo, startUpdateEvent); UpdaterCore spy = spy(updaterCore); - when(updaterMediatorInstance.getWalletVersion()).thenReturn(attachment.getAppVersion()); spy.init(); @@ -235,14 +240,30 @@ public void testInitUpdatedAllUpdatesLesserOrEqualUpdateVersion() throws Excepti // UpdaterCoreImpl startAvailableUpdate @Test public void testStartMinorUpdate() throws InterruptedException { + attachment = UpdateAttachment.getAttachment( + OS.current(), + Arch.current(), + new DoubleByteArrayTuple(new byte[0], new byte[0]), + new Version("1.0.8"), + new byte[0], + (byte) 2); + MinorUpdateTransactionType type = new MinorUpdateTransactionType(blockchainConfig, accountService); - SimpleTransaction mockTransaction = new SimpleTransaction(3L, type); - mockTransaction.setAttachment(attachment); + Transaction mockTransaction = new SimpleTransaction(3L, type); + ((SimpleTransaction)mockTransaction).setAttachment(attachment); + UpdateTransaction updateTransaction = mock(UpdateTransaction.class); + when(updateTransaction.isUpdated()).thenReturn(false); + when(updateTransaction.getTransaction()).thenReturn(mockTransaction); + when(updaterService.getLast()).thenReturn(updateTransaction); + + Event select = mock(Event.class); + when(startUpdateEvent.select(any(AnnotationLiteral.class))).thenReturn(select); + when(updaterMediatorInstance.getBlockchainHeight()).thenReturn(300).thenReturn(300); + UpdateData updateData = new UpdateData(attachment, mockTransaction.getId(), decryptedUrl); UpdateInfo updateInfo = new UpdateInfo(); UpdaterCore updaterCore = new UpdaterCoreImpl(updaterService, updaterMediatorInstance, transactionVerifier, updateInfo, startUpdateEvent); - doReturn(new UpdateTransaction(mockTransaction.getId(), false)).when(updaterService).getLast(); doReturn(updateData).when(transactionVerifier).process(mockTransaction); UpdaterCore spy = spy(updaterCore); diff --git a/apl-updater/src/test/java/com/apollocurrency/aplwallet/apl/updater/UpdaterUtilTest.java b/apl-updater/src/test/java/com/apollocurrency/aplwallet/apl/updater/UpdaterUtilTest.java index 64c08037ec..0f00bb40d6 100644 --- a/apl-updater/src/test/java/com/apollocurrency/aplwallet/apl/updater/UpdaterUtilTest.java +++ b/apl-updater/src/test/java/com/apollocurrency/aplwallet/apl/updater/UpdaterUtilTest.java @@ -4,163 +4,142 @@ package com.apollocurrency.aplwallet.apl.updater; -import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; -import org.mockito.Mock; -import org.mockito.Mockito; import org.slf4j.Logger; import java.io.IOException; -import java.io.InputStream; -import java.nio.file.Path; -import java.nio.file.Paths; import java.security.cert.Certificate; -import java.security.cert.CertificateException; -import java.security.cert.CertificateFactory; -import java.util.Arrays; -import java.util.HashSet; +import java.security.cert.X509Certificate; import java.util.Set; -import java.util.stream.Collectors; -import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.fail; import static org.slf4j.LoggerFactory.getLogger; -//import org.powermock.api.mockito.PowerMockito; - -//TODO: Rewrite using mockito -@Disabled +/** + * in case RUN TIME ERROR (e.g. in IDE) + * add VM parameter below to this test + * --add-opens=java.base/sun.security.x509=ALL-UNNAMED + */ public class UpdaterUtilTest { private static final Logger log = getLogger(UpdaterUtilTest.class); - private final static String CERTIFICATE_MOCK_PREFIX = "CERTIFICATE_MOCK_"; - - @Mock - private CertificateFactory certificateFactoryMock; - - /** - * Create certificate mock for each filename. - * Used to mock dependencies of UpdaterUtil.readCertificates(Set certificateFilesPaths) method - * - * @param certificateFactoryMock - * @param files - * @throws IOException - * @throws CertificateException - */ - private static void createCertificateMocksForFiles(CertificateFactory certificateFactoryMock, String[] files) throws IOException, CertificateException { - for (String filename : files) { - InputStream inputStreamMock = Mockito.mock(InputStream.class); - Certificate certificateMock = Mockito.mock(Certificate.class); - -// PowerMockito.when(Files.newInputStream(Paths.get(filename))).thenReturn(inputStreamMock); - - Mockito.when(certificateFactoryMock.generateCertificate(inputStreamMock)).thenReturn(certificateMock); - Mockito.when(certificateMock.toString()).thenReturn(CERTIFICATE_MOCK_PREFIX + filename); - } - } - - /** - * convert String[] to Stream - * - * @param filenames - * @return - */ - private static Stream createPathStream(String[] filenames) { - return Arrays.stream(filenames).map(filename -> Paths.get(filename)); - } - - /** - * Simple iterate through result not to make filename to mock-cert mapping for better readability - * - * @param pairs - * @param first - * @param second - * @return - */ - private static boolean containsPair(Set pairs, String first, String second) { - for (CertificatePair pair : pairs) { - if (pair.getFirstCertificate().toString().equals(CERTIFICATE_MOCK_PREFIX + first) && - pair.getSecondCertificate().toString().equals(CERTIFICATE_MOCK_PREFIX + second)) { - return true; - } - } - return false; + @AfterEach + void tearDown() { + UpdaterUtil.certificates.clear(); + UpdaterUtil.certificatePairs.clear(); } - /** - * Test UpdaterUtil.buildCertificatePairs(String certificateDirectory) method - * - * @throws Exception - */ @Test public void testBuildCertificatePairs() throws Exception { - String directory = "test-dir"; - String[] files = new String[]{"1_1.crt", "1_2.crt", "1_3.crt", "2_1.crt", "2_2.crt"}; - - Path directoryPath = Paths.get(directory); - -// PowerMockito.spy(UpdaterUtil.class); -// PowerMockito.doReturn(directoryPath).when(UpdaterUtil.class, "loadResourcePath", directory) ; -// PowerMockito.mockStatic(Files.class); -// PowerMockito.when(Files.walk(directoryPath, 1)).thenReturn(createPathStream(files), createPathStream(files)); -// PowerMockito.mockStatic(CertificateFactory.class); -// PowerMockito.when(CertificateFactory.getInstance("X.509")).thenReturn(certificateFactoryMock); - - // create certificate mock for each filename - createCertificateMocksForFiles(certificateFactoryMock, files); - + UpdaterUtil.init(false); // Call tested method - Set result = UpdaterUtil.buildCertificatePairs(directory, "1_", "2_", ".crt"); + Set result = UpdaterUtil.buildCertificatePairs("any-dir", + "1_", "2_", ".crt"); assertNotNull(result); for (CertificatePair pair : result) { log.debug("pair: [{}, {}]", pair.getFirstCertificate().toString(), pair.getSecondCertificate().toString()); } + log.debug("set size: {}", result.size()); + assertEquals(result.size(), 9); +// assertHasPair(result, "YL", "Denis Demut"); +// assertHasPair(result, "YL", "Dzhyncharadze George"); +// assertHasPair(result, "YL", "iAlexander"); +// assertHasPair(result, "Rostyslav Golda", "Denis Demut"); +// assertHasPair(result, "Rostyslav Golda", "Dzhyncharadze George"); +// assertHasPair(result, "Rostyslav Golda", "iAlexander"); +// assertHasPair(result, "Maksim Khabenko", "Denis Demut"); +// assertHasPair(result, "Maksim Khabenko", "Dzhyncharadze George"); +// assertHasPair(result, "Maksim Khabenko", "iAlexander"); + } - assertEquals(result.size(), 6); + @Test + public void testBuildDebugCertificatePairs() throws Exception { + UpdaterUtil.init(true); - assertTrue(containsPair(result, "2_1.crt", "1_1.crt")); - assertTrue(containsPair(result, "2_1.crt", "1_2.crt")); - assertTrue(containsPair(result, "2_1.crt", "1_3.crt")); - assertTrue(containsPair(result, "2_2.crt", "1_1.crt")); - assertTrue(containsPair(result, "2_2.crt", "1_2.crt")); - assertTrue(containsPair(result, "2_2.crt", "1_3.crt")); + Set result = UpdaterUtil.buildCertificatePairs("any-dir", + "1_", "2_", ".crt"); + assertNotNull(result); + assertEquals(result.size(), 1); + assertHasPair(result, "Andrii Boiarskyi", "Andrii Boiarskyi"); } - /** - * Test UpdaterUtil.readCertificates(Set certificateFilesPaths) method - * - * @throws CertificateException - * @throws IOException - */ - @Test - public void testReadCertificates() throws Exception { - - String[] files = new String[]{"cert1", "cert2", "cert3"}; -// PowerMockito.mockStatic(Files.class); -// -// PowerMockito.mockStatic(CertificateFactory.class); -// PowerMockito.when(CertificateFactory.getInstance("X.509")).thenReturn(certificateFactoryMock); + @Test + public void testReadMainCertificates() throws IOException { - // create certificate mock for each filename - createCertificateMocksForFiles(certificateFactoryMock, files); + // init certificates (from apl-updater/src/main/resources/certs) + UpdaterUtil.init(false); - // Call tested method - Set result = UpdaterUtil.readCertificates(createPathStream(files).collect(Collectors.toSet())); + // read certificates ignoring input parameters + Set result = UpdaterUtil.readCertificates("any-dir", "any-prefix", "any-suffix"); assertNotNull(result); - assertEquals(result.size(), files.length); + assertEquals(6, result.size()); - HashSet filenames = new HashSet<>(Arrays.asList(files)); // Assert that for each filename a correspondent certificate was created + final Set names = Set.of("Denis Demut", "YL", "Rostyslav Golda", + "Dzhyncharadze George", "iAlexander", "Maksim Khabenko"); for (Certificate certificate : result) { - assertTrue(filenames.contains(certificate.toString().replace(CERTIFICATE_MOCK_PREFIX, ""))); + final X509Certificate cert = (X509Certificate) certificate; + final sun.security.x509.X500Name subjectDN = (sun.security.x509.X500Name) cert.getSubjectDN(); + final String commonName = subjectDN.getCommonName(); + assertTrue(names.contains(commonName), commonName + " is not present in expected names set " + + "for certificates: " + names + ", cert: " + certificate); + } + + } + + @Test + public void testReadDebugCertificates() throws IOException { + + // init certificates (from apl-updater/src/main/resources/debug-certs) + UpdaterUtil.init(true); + + // read certificates ignoring input parameters + Set result = UpdaterUtil.readCertificates("any-dir", + "any-prefix", "any-suffix"); + + assertNotNull(result); + assertEquals(1, result.size()); // same cert + + final Certificate certificate = (Certificate) result.toArray()[0]; + final X509Certificate cert = (X509Certificate) certificate; + final sun.security.x509.X500Name subjectDN = (sun.security.x509.X500Name) cert.getSubjectDN(); + final String commonName = subjectDN.getCommonName(); + assertEquals("Andrii Boiarskyi", commonName, commonName + " does not match expected " + + "www.firstbridge.io for loaded debug certificate"); + } + + private void assertHasPair(Set pairs, String devName, String approver) { + for (CertificatePair pair : pairs) { + final String firstName = getNameFromCert(pair.getSecondCertificate()); + if (!firstName.equals(devName)) { + continue; + } + final String secondName = getNameFromCert(pair.getFirstCertificate()); + if (secondName.equals(approver)) { + return; + } } + fail(pairs + " does not contain certificate pair for 1-dev: " + devName + " and 2-approver: " + approver); + } + private String getNameFromCert(Certificate certificate) { + final X509Certificate cert = (X509Certificate) certificate; + final sun.security.x509.X500Name subjectDN = (sun.security.x509.X500Name) cert.getSubjectDN(); + final String commonName; + try { + commonName = subjectDN.getCommonName(); + } catch (IOException e) { + throw new RuntimeException(e.toString(), e); + } + return commonName; } } diff --git a/apl-updater/src/test/resources/certs/1_1.crt b/apl-updater/src/test/resources/test-certs/1_1.crt similarity index 100% rename from apl-updater/src/test/resources/certs/1_1.crt rename to apl-updater/src/test/resources/test-certs/1_1.crt diff --git a/apl-updater/src/test/resources/certs/1_1.key b/apl-updater/src/test/resources/test-certs/1_1.key similarity index 100% rename from apl-updater/src/test/resources/certs/1_1.key rename to apl-updater/src/test/resources/test-certs/1_1.key diff --git a/apl-updater/src/test/resources/certs/1_2.crt b/apl-updater/src/test/resources/test-certs/1_2.crt similarity index 100% rename from apl-updater/src/test/resources/certs/1_2.crt rename to apl-updater/src/test/resources/test-certs/1_2.crt diff --git a/apl-updater/src/test/resources/certs/1_2.key b/apl-updater/src/test/resources/test-certs/1_2.key similarity index 100% rename from apl-updater/src/test/resources/certs/1_2.key rename to apl-updater/src/test/resources/test-certs/1_2.key diff --git a/apl-updater/src/test/resources/certs/2_1.crt b/apl-updater/src/test/resources/test-certs/2_1.crt similarity index 100% rename from apl-updater/src/test/resources/certs/2_1.crt rename to apl-updater/src/test/resources/test-certs/2_1.crt diff --git a/apl-updater/src/test/resources/certs/2_1.key b/apl-updater/src/test/resources/test-certs/2_1.key similarity index 100% rename from apl-updater/src/test/resources/certs/2_1.key rename to apl-updater/src/test/resources/test-certs/2_1.key diff --git a/apl-updater/src/test/resources/certs/2_2.crt b/apl-updater/src/test/resources/test-certs/2_2.crt similarity index 100% rename from apl-updater/src/test/resources/certs/2_2.crt rename to apl-updater/src/test/resources/test-certs/2_2.crt diff --git a/apl-updater/src/test/resources/certs/2_2.key b/apl-updater/src/test/resources/test-certs/2_2.key similarity index 100% rename from apl-updater/src/test/resources/certs/2_2.key rename to apl-updater/src/test/resources/test-certs/2_2.key diff --git a/apl-updater/src/test/resources/certs/intermediate.crt b/apl-updater/src/test/resources/test-certs/intermediate.crt similarity index 100% rename from apl-updater/src/test/resources/certs/intermediate.crt rename to apl-updater/src/test/resources/test-certs/intermediate.crt diff --git a/apl-updater/src/test/resources/certs/intermediate.key b/apl-updater/src/test/resources/test-certs/intermediate.key similarity index 100% rename from apl-updater/src/test/resources/certs/intermediate.key rename to apl-updater/src/test/resources/test-certs/intermediate.key diff --git a/apl-updater/src/test/resources/certs/rootCA.crt b/apl-updater/src/test/resources/test-certs/rootCA.crt similarity index 100% rename from apl-updater/src/test/resources/certs/rootCA.crt rename to apl-updater/src/test/resources/test-certs/rootCA.crt diff --git a/apl-updater/src/test/resources/certs/rootCA.key b/apl-updater/src/test/resources/test-certs/rootCA.key similarity index 100% rename from apl-updater/src/test/resources/certs/rootCA.key rename to apl-updater/src/test/resources/test-certs/rootCA.key diff --git a/pom.xml b/pom.xml index 87d1df1f4d..96070ea8d1 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ apl-db-updater apl-dex apl-vault-wallet - apl-smc + apl-smc @@ -163,9 +163,21 @@ maven-compiler-plugin ${compile-plugin.version} - ${java.version} - ${java.version} + ${maven.compiler.source} + ${maven.compiler.target} true + + + --add-exports + --add-opens + java.base/sun.security.x509=ALL-UNNAMED + java.base/sun.security.pkcs=ALL-UNNAMED + java.base/sun.security.provider=ALL-UNNAMED + java.base/sun.security.util=ALL-UNNAMED + java.base/jdk.internal.misc=ALL-UNNAMED + security.util=ALL-UNNAMED + + false @@ -221,6 +233,15 @@ org.apache.maven.plugins maven-compiler-plugin + + + + --add-exports + + + java.base/sun.security.x509=ALL-UNNAMED + + false diff --git a/unit-test-Docker-Image/Dockerfile b/unit-test-Docker-Image/Dockerfile index 50adda3f6a..7e6324c923 100644 --- a/unit-test-Docker-Image/Dockerfile +++ b/unit-test-Docker-Image/Dockerfile @@ -1,40 +1,60 @@ # vim:set ft=dockerfile: -FROM ubuntu:focal +FROM ubuntu:jammy # add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added RUN groupadd -r mysql && useradd -r -g mysql mysql -# https://bugs.debian.org/830696 (apt uses gpgv by default in newer releases, rather than gpg) -RUN set -ex; \ - apt-get update; \ - if ! which gpg; then \ - apt-get install -y --no-install-recommends gnupg; \ - fi; \ - if ! gpg --version | grep -q '^gpg (GnuPG) 1\.'; then \ -# Ubuntu includes "gnupg" (not "gnupg2", but still 2.x), but not dirmngr, and gnupg 2.x requires dirmngr -# so, if we're not running gnupg 1.x, explicitly install dirmngr too - apt-get install -y --no-install-recommends dirmngr; \ - fi; \ - rm -rf /var/lib/apt/lists/* - # add gosu for easy step-down from root # https://github.com/tianon/gosu/releases -ENV GOSU_VERSION 1.12 +# gosu key is B42F6819007F00F88E364FD4036A9C25BF357DD4 +ENV GOSU_VERSION 1.14 + +ARG GPG_KEYS=177F4010FE56CA3336300305F1656F24C74CD1D8 +# pub rsa4096 2016-03-30 [SC] +# 177F 4010 FE56 CA33 3630 0305 F165 6F24 C74C D1D8 +# uid [ unknown] MariaDB Signing Key +# sub rsa4096 2016-03-30 [E] +# install "libjemalloc2" as it offers better performance in some cases. Use with LD_PRELOAD +# install "pwgen" for randomizing passwords +# install "tzdata" for /usr/share/zoneinfo/ +# install "xz-utils" for .sql.xz docker-entrypoint-initdb.d files +# install "zstd" for .sql.zst docker-entrypoint-initdb.d files +# hadolint ignore=SC2086 RUN set -eux; \ - savedAptMark="$(apt-mark showmanual)"; \ apt-get update; \ - apt-get install -y --no-install-recommends ca-certificates wget; \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + ca-certificates \ + gpg \ + gpgv \ + libjemalloc2 \ + pwgen \ + tzdata \ + xz-utils \ + zstd ; \ + savedAptMark="$(apt-mark showmanual)"; \ + apt-get install -y --no-install-recommends \ + dirmngr \ + gpg-agent \ + wget; \ rm -rf /var/lib/apt/lists/*; \ dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \ - wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \ - wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \ - export GNUPGHOME="$(mktemp -d)"; \ + wget -q -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \ + wget -q -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \ + GNUPGHOME="$(mktemp -d)"; \ + export GNUPGHOME; \ gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \ + for key in $GPG_KEYS; do \ + gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ + done; \ + gpg --batch --export "$GPG_KEYS" > /etc/apt/trusted.gpg.d/mariadb.gpg; \ + if command -v gpgconf >/dev/null; then \ + gpgconf --kill all; \ + fi; \ gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \ gpgconf --kill all; \ rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \ apt-mark auto '.*' > /dev/null; \ - [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; \ + [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark >/dev/null; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ chmod +x /usr/local/bin/gosu; \ gosu --version; \ @@ -42,42 +62,33 @@ RUN set -eux; \ RUN mkdir /docker-entrypoint-initdb.d -# install "pwgen" for randomizing passwords -# install "tzdata" for /usr/share/zoneinfo/ -# install "xz-utils" for .sql.xz docker-entrypoint-initdb.d files -RUN set -ex; \ - apt-get update; \ - apt-get install -y --no-install-recommends \ - pwgen \ - tzdata \ - xz-utils \ - ; \ - rm -rf /var/lib/apt/lists/* +# Ensure the container exec commands handle range of utf8 characters based of +# default locales in base image (https://github.com/docker-library/docs/blob/135b79cc8093ab02e55debb61fdb079ab2dbce87/ubuntu/README.md#locales) +ENV LANG C.UTF-8 -ENV GPG_KEYS \ -# pub rsa4096 2016-03-30 [SC] -# 177F 4010 FE56 CA33 3630 0305 F165 6F24 C74C D1D8 -# uid [ unknown] MariaDB Signing Key -# sub rsa4096 2016-03-30 [E] - 177F4010FE56CA3336300305F1656F24C74CD1D8 -RUN set -ex; \ - export GNUPGHOME="$(mktemp -d)"; \ - for key in $GPG_KEYS; do \ - gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ - done; \ - gpg --batch --export $GPG_KEYS > /etc/apt/trusted.gpg.d/mariadb.gpg; \ - command -v gpgconf > /dev/null && gpgconf --kill all || :; \ - rm -r "$GNUPGHOME"; \ - apt-key list +# OCI annotations to image +LABEL org.opencontainers.image.authors="MariaDB Community" \ + org.opencontainers.image.title="MariaDB Database" \ + org.opencontainers.image.description="MariaDB Database for relational SQL" \ + org.opencontainers.image.documentation="https://hub.docker.com/_/mariadb/" \ + org.opencontainers.image.base.name="docker.io/library/ubuntu:jammy" \ + org.opencontainers.image.licenses="GPL-2.0" \ + org.opencontainers.image.source="https://github.com/MariaDB/mariadb-docker" \ + org.opencontainers.image.vendor="MariaDB Community" \ + org.opencontainers.image.version="10.11.2" \ + org.opencontainers.image.url="https://github.com/MariaDB/mariadb-docker" -# bashbrew-architectures: amd64 arm64v8 ppc64le -ENV MARIADB_MAJOR 10.5 -ENV MARIADB_VERSION 1:10.5.8+maria~focal +# bashbrew-architectures: amd64 arm64v8 ppc64le s390x +ARG MARIADB_VERSION=1:10.11.2+maria~ubu2204 +ENV MARIADB_VERSION $MARIADB_VERSION # release-status:Stable -# (https://downloads.mariadb.org/mariadb/+releases/) +# (https://downloads.mariadb.org/rest-api/mariadb/) + +# Allowing overriding of REPOSITORY, a URL that includes suite and component for testing and Enterprise Versions +ARG REPOSITORY="http://archive.mariadb.org/mariadb-10.11.2/repo/ubuntu/ jammy main" RUN set -e;\ - echo "deb http://ftp.osuosl.org/pub/mariadb/repo/$MARIADB_MAJOR/ubuntu focal main" > /etc/apt/sources.list.d/mariadb.list; \ + echo "deb ${REPOSITORY}" > /etc/apt/sources.list.d/mariadb.list; \ { \ echo 'Package: *'; \ echo 'Pin: release o=MariaDB'; \ @@ -88,17 +99,15 @@ RUN set -e;\ # the "/var/lib/mysql" stuff here is because the mysql-server postinst doesn't have an explicit way to disable the mysql_install_db codepath besides having a database already "configured" (ie, stuff in /var/lib/mysql/mysql) # also, we set debconf keys to make APT a little quieter +# hadolint ignore=DL3015 RUN set -ex; \ { \ - echo "mariadb-server-$MARIADB_MAJOR" mysql-server/root_password password 'unused'; \ - echo "mariadb-server-$MARIADB_MAJOR" mysql-server/root_password_again password 'unused'; \ + echo "mariadb-server" mysql-server/root_password password 'unused'; \ + echo "mariadb-server" mysql-server/root_password_again password 'unused'; \ } | debconf-set-selections; \ apt-get update; \ - apt-get install -y \ - "mariadb-server=$MARIADB_VERSION" \ # mariadb-backup is installed at the same time so that `mysql-common` is only installed once from just mariadb repos - mariadb-backup \ - socat \ + apt-get install -y --no-install-recommends mariadb-server="$MARIADB_VERSION" mariadb-backup socat \ ; \ # APOLLO addition START (install rocksdb plugin and nano editor) apt-get -y install mariadb-plugin-rocksdb -f; \ @@ -116,14 +125,22 @@ RUN set -ex; \ | xargs -0 grep -lZE '^(bind-address|log|user\s)' \ | xargs -rt -0 sed -Ei 's/^(bind-address|log|user\s)/#&/'; \ # don't reverse lookup hostnames, they are usually another container - echo '[mysqld]\nskip-host-cache\nskip-name-resolve' > /etc/mysql/conf.d/docker.cnf + printf "[mariadb]\nhost-cache-size=0\nskip-name-resolve\n" > /etc/mysql/mariadb.conf.d/05-skipcache.cnf; \ +# Issue #327 Correct order of reading directories /etc/mysql/mariadb.conf.d before /etc/mysql/conf.d (mount-point per documentation) + if [ -L /etc/mysql/my.cnf ]; then \ +# 10.5+ + sed -i -e '/includedir/ {N;s/\(.*\)\n\(.*\)/\n\2\n\1/}' /etc/mysql/mariadb.cnf; \ + fi + VOLUME /var/lib/mysql +COPY healthcheck.sh /usr/local/bin/healthcheck.sh +COPY docker-entrypoint.sh /usr/local/bin/ # APOLLO copy docker-entrypoint.sh and PUT root's exec permissions to it USER root -COPY --chown=root:root docker-entrypoint.sh /usr/local/bin/ -RUN chmod +x /usr/local/bin/docker-entrypoint.sh +#COPY --chown=root:root docker-entrypoint.sh /usr/local/bin/ +#RUN chmod +x /usr/local/bin/docker-entrypoint.sh # APOLLO addition START (set max_connections to = 1024) USER mysql COPY --chown=mysql:mysql my_conf.cnf /etc/mysql/my.cnf @@ -132,4 +149,4 @@ RUN chmod -R 0444 /etc/mysql/my.cnf ENTRYPOINT ["docker-entrypoint.sh"] EXPOSE 3306 -CMD ["mysqld"] \ No newline at end of file +CMD ["mariadbd"] \ No newline at end of file diff --git a/unit-test-Docker-Image/Dockerfile_light b/unit-test-Docker-Image/Dockerfile_light deleted file mode 100644 index e742e1e9d4..0000000000 --- a/unit-test-Docker-Image/Dockerfile_light +++ /dev/null @@ -1,27 +0,0 @@ -FROM mariadb:10.5.5 - -USER root - -# Prevent 'systemctl' from being executed -ARG DEBIAN_FRONTEND=noninteractive -RUN DEBIAN_FRONTEND=noninteractive; -RUN export DEBIAN_FRONTEND=noninteractive - -# Prevent 'systemctl' from being executed -RUN dpkg-divert --add /bin/systemctl && ln -sT /bin/true /bin/systemctl - -RUN apt-get update - -RUN apt-get -y install sudo dialog apt-utils - -RUN apt-get -y install mariadb-plugin-rocksdb -f - -ENV MYSQL_ROOT_HOST=% \ - MYSQL_USER=testuser \ - MYSQL_PASSWORD=testpass \ - MYSQL_DATABASE=testdb \ - MYSQL_ROOT_PASSWORD=rootpass - -ADD . / - -RUN rm -rf /var/cache/apt/lists/* diff --git a/unit-test-Docker-Image/README.md b/unit-test-Docker-Image/README.md index 58ee2bac5e..8d75232529 100644 --- a/unit-test-Docker-Image/README.md +++ b/unit-test-Docker-Image/README.md @@ -4,7 +4,7 @@ Dockerfile file uses official script from repo for building container's image in folder /unit-test-Docker-Image Original script is : -https://github.com/docker-library/mariadb/blob/master/10.5/ +https://github.com/docker-library/mariadb/blob/master/10.11/ and it is modified to our needs. MariaDb in docker info - https://hub.docker.com/_/mariadb/ @@ -19,38 +19,38 @@ https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-o 1.1 Go to sub folder to build a new image : -$ cd unit-test-Docker-Image +> cd unit-test-Docker-Image -1.2 Build a new image named 'mariadb:10.5' by running script 'Dockerfile' in the folder /unit-test-Docker-Image : +1.2 Build a new image named 'mariadb:10.11' by running script 'Dockerfile' in the folder /unit-test-Docker-Image : -$ docker build -t mariadb:10.5 . +> docker build -t mariadb:10.11 . 1.3 CHECKING. Start up a new container by using created image 'mariadb:10.5' and give it a name 'apl-mariadb': -$ docker run -p 3306:3306 \ +> docker run -p 3306:3306 \ --name apl-mariadb \ -e MYSQL_ROOT_HOST=% \ -e MYSQL_ROOT_PASSWORD=rootpass \ -e MYSQL_DATABASE=testdb \ -e MYSQL_USER=testuser \ -e MYSQL_PASSWORD=testpass \ - -d mariadb:10.5 + -d mariadb:10.11 You can stop reading here if your local docker image has been built successfully. You can try run 'slow' unit tests with mariadb in docker by using command: -$ mvn test -Dgroups="slow" +> mvn test -Dgroups="slow" #### 2. Check connectivity with mariadb run docker container #### Check if docker run and run it if it's needed -$ $ docker ps -a +> docker ps -a -| CONTAINER ID | IMAGE | COMMAND | CREATED | STATUS | PORTS | NAMES | -|:---|:---:|:---|:---:|:---:|:---:|:---:| -| da72e6287db9 | mariadb:10.5 | "docker-entrypoint.s…" | 14 hours ago | Up 1 second | 0.0.0.0:3306->3306/tcp | apl-mariadb | +| CONTAINER ID | IMAGE | COMMAND | CREATED | STATUS | PORTS | NAMES | +|:---|:-------------:|:---|:---:|:---:|:---:|:---:| +| da72e6287db9 | mariadb:10.11 | "docker-entrypoint.s…" | 14 hours ago | Up 1 second | 0.0.0.0:3306->3306/tcp | apl-mariadb | See run container with NAME = apl-mariadb and STATUS = Up @@ -58,23 +58,23 @@ You can start created container by command: $ docker start apl-mariadb 2.1 Quick check mariadb is accessible on local PC : -$ mysql -h 127.0.0.1 -P3306 -u root -prootpass +> mysql -h 127.0.0.1 -P3306 -u root -prootpass 2.2 Quick check by access with 'testuser' on local PC : -$ mysql -h 127.0.0.1 -P3306 -u testuser -ptestpass +> mysql -h 127.0.0.1 -P3306 -u testuser -ptestpass 2.3 You can look for all mariadb image optional run parameters by command: -$ docker run -it --rm mariadb:10.5 --verbose --help +> docker run -it --rm mariadb:10.11 --verbose --help 2.4 Quickly check that MyRocks is enabled: -$ mysql -uroot -prootpass -h127.0.0.1 -P3306 +> mysql -uroot -prootpass -h127.0.0.1 -P3306 or -$ mysql -h 172.17.0.2 -u root -prootpass +> mysql -h 172.17.0.2 -u root -prootpass mysql> show engines; @@ -93,39 +93,39 @@ mysql> show engines; 3.1 Start container by name -$ docker start apl-mariadb +> docker start apl-mariadb 3.2 Stop container by name -$ docker stop apl-mariadb +> docker stop apl-mariadb 3.3 Restart container -$ docker restart mariadbtest +> docker restart apl-mariadb 3.4 Connect to MariaDb container bash -$ docker exec -it apl-mariadb bash +> docker exec -it apl-mariadb bash 3.5 See logs for running container (troubleshooting) -$ docker logs apl-mariadb +> docker logs apl-mariadb 3.6 Find the IP address that has been assigned to the container: -$ docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' apl-mariadb +> docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' apl-mariadb 3.7 Kill container -docker kill apl-mariadb +> docker kill apl-mariadb 3.8 Remove container (not a saved data ! ) -$ docker rm apl-mariadb +> docker rm apl-mariadb 3.9 Remove data related to container -$ docker rm -v apl-mariadb +> docker rm -v apl-mariadb ##### 4. Useful SQL diff --git a/unit-test-Docker-Image/docker-entrypoint.sh b/unit-test-Docker-Image/docker-entrypoint.sh index 1e32861045..a4608f3c59 100644 --- a/unit-test-Docker-Image/docker-entrypoint.sh +++ b/unit-test-Docker-Image/docker-entrypoint.sh @@ -46,6 +46,18 @@ file_env() { unset "$fileVar" } +# set MARIADB_xyz from MYSQL_xyz when MARIADB_xyz is unset +# and make them the same value (so user scripts can use either) +_mariadb_file_env() { + local var="$1"; shift + local maria="MARIADB_${var#MYSQL_}" + file_env "$var" "$@" + file_env "$maria" "${!var}" + if [ "${!maria:-}" ]; then + export "$var"="${!maria}" + fi +} + # check to see if this file is being run or sourced from another script _is_sourced() { # https://unix.stackexchange.com/a/215279 @@ -59,6 +71,8 @@ _is_sourced() { # process initializer files, based on file extensions docker_process_init_files() { # mysql here for backwards compatibility "${mysql[@]}" + # ShellCheck: mysql appears unused. Verify use (or export if used externally) + # shellcheck disable=SC2034 mysql=( docker_process_sql ) echo @@ -73,47 +87,59 @@ docker_process_init_files() { "$f" else mysql_note "$0: sourcing $f" + # ShellCheck can't follow non-constant source. Use a directive to specify location. + # shellcheck disable=SC1090 . "$f" fi ;; - *.sql) mysql_note "$0: running $f"; docker_process_sql < "$f"; echo ;; - *.sql.gz) mysql_note "$0: running $f"; gunzip -c "$f" | docker_process_sql; echo ;; - *.sql.xz) mysql_note "$0: running $f"; xzcat "$f" | docker_process_sql; echo ;; - *) mysql_warn "$0: ignoring $f" ;; + *.sql) mysql_note "$0: running $f"; docker_process_sql < "$f"; echo ;; + *.sql.gz) mysql_note "$0: running $f"; gunzip -c "$f" | docker_process_sql; echo ;; + *.sql.xz) mysql_note "$0: running $f"; xzcat "$f" | docker_process_sql; echo ;; + *.sql.zst) mysql_note "$0: running $f"; zstd -dc "$f" | docker_process_sql; echo ;; + *) mysql_warn "$0: ignoring $f" ;; esac echo done } +# arguments necessary to run "mariadbd --verbose --help" successfully (used for testing configuration validity and for extracting default/configured values) +_verboseHelpArgs=( + --verbose --help +) + mysql_check_config() { - local toRun=( "$@" --verbose --help --log-bin-index="$(mktemp -u)" ) errors + local toRun=( "$@" "${_verboseHelpArgs[@]}" ) errors if ! errors="$("${toRun[@]}" 2>&1 >/dev/null)"; then - mysql_error $'mysqld failed while attempting to check config\n\tcommand was: '"${toRun[*]}"$'\n\t'"$errors" + mysql_error $'mariadbd failed while attempting to check config\n\tcommand was: '"${toRun[*]}"$'\n\t'"$errors" fi } # Fetch value from server config -# We use mysqld --verbose --help instead of my_print_defaults because the +# We use mariadbd --verbose --help instead of my_print_defaults because the # latter only show values present in config files, and not server defaults mysql_get_config() { local conf="$1"; shift - "$@" --verbose --help --log-bin-index="$(mktemp -u)" 2>/dev/null \ + "$@" "${_verboseHelpArgs[@]}" 2>/dev/null \ | awk -v conf="$conf" '$1 == conf && /^[^ \t]/ { sub(/^[^ \t]+[ \t]+/, ""); print; exit }' # match "datadir /some/path with/spaces in/it here" but not "--xyz=abc\n datadir (xyz)" } -# Do a temporary startup of the MySQL server, for init purposes +# Do a temporary startup of the MariaDB server, for init purposes docker_temp_server_start() { - "$@" --skip-networking --socket="${SOCKET}" & + "$@" --skip-networking --default-time-zone=SYSTEM --socket="${SOCKET}" --wsrep_on=OFF \ + --expire-logs-days=0 \ + --loose-innodb_buffer_pool_load_at_startup=0 & + declare -g MARIADB_PID + MARIADB_PID=$! mysql_note "Waiting for server startup" + # only use the root password if the database has already been initialized + # so that it won't try to fill in a password file when it hasn't been set yet + extraArgs=() + if [ -z "$DATABASE_ALREADY_EXISTS" ]; then + extraArgs+=( '--dont-use-mysql-root-password' ) + fi local i for i in {30..0}; do - # only use the root password if the database has already been initializaed - # so that it won't try to fill in a password file when it hasn't been set yet - extraArgs=() - if [ -z "$DATABASE_ALREADY_EXISTS" ]; then - extraArgs+=( '--dont-use-mysql-root-password' ) - fi if docker_process_sql "${extraArgs[@]}" --database=mysql <<<'SELECT 1' &> /dev/null; then break fi @@ -124,18 +150,24 @@ docker_temp_server_start() { fi } -# Stop the server. When using a local socket file mysqladmin will block until +# Stop the server. When using a local socket file mariadb-admin will block until # the shutdown is complete. docker_temp_server_stop() { - if ! mysqladmin --defaults-extra-file=<( _mysql_passfile ) shutdown -uroot --socket="${SOCKET}"; then - mysql_error "Unable to shut down server." - fi + kill "$MARIADB_PID" + wait "$MARIADB_PID" } # Verify that the minimally required password settings are set for new databases. docker_verify_minimum_env() { - if [ -z "$MYSQL_ROOT_PASSWORD" -a -z "$MYSQL_ALLOW_EMPTY_PASSWORD" -a -z "$MYSQL_RANDOM_ROOT_PASSWORD" ]; then - mysql_error $'Database is uninitialized and password option is not specified\n\tYou need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD' + if [ -z "$MARIADB_ROOT_PASSWORD" ] && [ -z "$MARIADB_ROOT_PASSWORD_HASH" ] && [ -z "$MARIADB_ALLOW_EMPTY_ROOT_PASSWORD" ] && [ -z "$MARIADB_RANDOM_ROOT_PASSWORD" ]; then + mysql_error $'Database is uninitialized and password option is not specified\n\tYou need to specify one of MARIADB_ROOT_PASSWORD, MARIADB_ROOT_PASSWORD_HASH, MARIADB_ALLOW_EMPTY_ROOT_PASSWORD and MARIADB_RANDOM_ROOT_PASSWORD' + fi + # More preemptive exclusions of combinations should have been made before *PASSWORD_HASH was added, but for now we don't enforce due to compatibility. + if [ -n "$MARIADB_ROOT_PASSWORD" ] || [ -n "$MARIADB_ALLOW_EMPTY_ROOT_PASSWORD" ] || [ -n "$MARIADB_RANDOM_ROOT_PASSWORD" ] && [ -n "$MARIADB_ROOT_PASSWORD_HASH" ]; then + mysql_error "Cannot specify MARIADB_ROOT_PASSWORD_HASH and another MARIADB_ROOT_PASSWORD* option." + fi + if [ -n "$MARIADB_PASSWORD" ] && [ -n "$MARIADB_PASSWORD_HASH" ]; then + mysql_error "Cannot specify MARIADB_PASSWORD_HASH and MARIADB_PASSWORD option." fi } @@ -150,22 +182,31 @@ docker_create_db_directories() { if [ "$user" = "0" ]; then # this will cause less disk access than `chown -R` - find "$DATADIR" \! -user mysql -exec chown mysql '{}' + + find "$DATADIR" \! -user mysql -exec chown mysql: '{}' + + # See https://github.com/MariaDB/mariadb-docker/issues/363 + find "${SOCKET%/*}" -maxdepth 0 \! -user mysql -exec chown mysql: '{}' \; fi } +_mariadb_version() { + local mariaVersion="${MARIADB_VERSION##*:}" + mariaVersion="${mariaVersion%%[-+~]*}" + echo -n "${mariaVersion}-MariaDB" +} + # initializes the database directory docker_init_database_dir() { mysql_note "Initializing database files" - installArgs=( --datadir="$DATADIR" --rpm ) - if { mysql_install_db --help || :; } | grep -q -- '--auth-root-authentication-method'; then - # beginning in 10.4.3, install_db uses "socket" which only allows system user root to connect, switch back to "normal" to allow mysql root without a password - # see https://github.com/MariaDB/server/commit/b9f3f06857ac6f9105dc65caae19782f09b47fb3 - # (this flag doesn't exist in 10.0 and below) - installArgs+=( --auth-root-authentication-method=normal ) - fi - # "Other options are passed to mysqld." (so we pass all "mysqld" arguments directly here) - mysql_install_db "${installArgs[@]}" "${@:2}" + installArgs=( --datadir="$DATADIR" --rpm --auth-root-authentication-method=normal ) + # "Other options are passed to mariadbd." (so we pass all "mysqld" arguments directly here) + mariadb-install-db "${installArgs[@]}" "${@:2}" \ + --skip-test-db \ + --old-mode='UTF8_IS_UTF8MB3' \ + --default-time-zone=SYSTEM --enforce-storage-engine= \ + --skip-log-bin \ + --expire-logs-days=0 \ + --loose-innodb_buffer_pool_load_at_startup=0 \ + --loose-innodb_buffer_pool_dump_at_shutdown=0 mysql_note "Database files initialized" } @@ -177,12 +218,24 @@ docker_setup_env() { DATADIR="$(mysql_get_config 'datadir' "$@")" SOCKET="$(mysql_get_config 'socket' "$@")" + # Initialize values that might be stored in a file - file_env 'MYSQL_ROOT_HOST' '%' - file_env 'MYSQL_DATABASE' - file_env 'MYSQL_USER' - file_env 'MYSQL_PASSWORD' - file_env 'MYSQL_ROOT_PASSWORD' + _mariadb_file_env 'MYSQL_ROOT_HOST' '%' + _mariadb_file_env 'MYSQL_DATABASE' + _mariadb_file_env 'MYSQL_USER' + _mariadb_file_env 'MYSQL_PASSWORD' + _mariadb_file_env 'MYSQL_ROOT_PASSWORD' + # No MYSQL_ compatibility needed for new variables + file_env 'MARIADB_PASSWORD_HASH' + file_env 'MARIADB_ROOT_PASSWORD_HASH' + + # set MARIADB_ from MYSQL_ when it is unset and then make them the same value + : "${MARIADB_ALLOW_EMPTY_ROOT_PASSWORD:=${MYSQL_ALLOW_EMPTY_PASSWORD:-}}" + export MYSQL_ALLOW_EMPTY_PASSWORD="$MARIADB_ALLOW_EMPTY_ROOT_PASSWORD" MARIADB_ALLOW_EMPTY_ROOT_PASSWORD + : "${MARIADB_RANDOM_ROOT_PASSWORD:=${MYSQL_RANDOM_ROOT_PASSWORD:-}}" + export MYSQL_RANDOM_ROOT_PASSWORD="$MARIADB_RANDOM_ROOT_PASSWORD" MARIADB_RANDOM_ROOT_PASSWORD + : "${MARIADB_INITDB_SKIP_TZINFO:=${MYSQL_INITDB_SKIP_TZINFO:-}}" + export MYSQL_INITDB_SKIP_TZINFO="$MARIADB_INITDB_SKIP_TZINFO" MARIADB_INITDB_SKIP_TZINFO declare -g DATABASE_ALREADY_EXISTS if [ -d "$DATADIR/mysql" ]; then @@ -190,114 +243,233 @@ docker_setup_env() { fi } +# Execute the client, use via docker_process_sql to handle root password +docker_exec_client() { + # args sent in can override this db, since they will be later in the command + if [ -n "$MYSQL_DATABASE" ]; then + set -- --database="$MYSQL_DATABASE" "$@" + fi + mariadb --protocol=socket -uroot -hlocalhost --socket="${SOCKET}" "$@" +} + # Execute sql script, passed via stdin # usage: docker_process_sql [--dont-use-mysql-root-password] [mysql-cli-args] # ie: docker_process_sql --database=mydb <<<'INSERT ...' # ie: docker_process_sql --dont-use-mysql-root-password --database=mydb "${DATADIR}/${backup_db}"; then + mysql_error "Unable backup system database for upgrade from $oldfullversion." + fi + mysql_note "Backing up complete" +} - docker_process_sql --database=mysql <<<"FLUSH PRIVILEGES ;" +# perform mariadb-upgrade +# backup the mysql database if this is a major upgrade +docker_mariadb_upgrade() { + if [ -z "$MARIADB_AUTO_UPGRADE" ] \ + || [ "$MARIADB_AUTO_UPGRADE" = 0 ]; then + mysql_note "MariaDB upgrade (mariadb-upgrade) required, but skipped due to \$MARIADB_AUTO_UPGRADE setting" + return fi + mysql_note "Starting temporary server" + docker_temp_server_start "$@" --skip-grant-tables \ + --loose-innodb_buffer_pool_dump_at_shutdown=0 \ + --skip-slave-start + mysql_note "Temporary server started." + + docker_mariadb_backup_system + + mysql_note "Starting mariadb-upgrade" + mariadb-upgrade --upgrade-system-tables + mysql_note "Finished mariadb-upgrade" + + mysql_note "Stopping temporary server" + docker_temp_server_stop + mysql_note "Temporary server stopped" } -_mysql_passfile() { - # echo the password to the "file" the client uses - # the client command will use process substitution to create a file on the fly - # ie: --defaults-extra-file=<( _mysql_passfile ) - if [ '--dont-use-mysql-root-password' != "$1" ] && [ -n "$MYSQL_ROOT_PASSWORD" ]; then - cat <<-EOF - [client] - password="${MYSQL_ROOT_PASSWORD}" - EOF + +_check_if_upgrade_is_needed() { + if [ ! -f "$DATADIR"/mysql_upgrade_info ]; then + mysql_note "MariaDB upgrade information missing, assuming required" + return 0 + fi + local mariadbVersion + mariadbVersion="$(_mariadb_version)" + IFS='.-' read -ra newversion <<<"$mariadbVersion" + IFS='.-' read -ra oldversion < "$DATADIR"/mysql_upgrade_info || true + + if [[ ${#newversion[@]} -lt 2 ]] || [[ ${#oldversion[@]} -lt 2 ]] \ + || [[ ${oldversion[0]} -lt ${newversion[0]} ]] \ + || [[ ${oldversion[0]} -eq ${newversion[0]} && ${oldversion[1]} -lt ${newversion[1]} ]]; then + return 0 fi + mysql_note "MariaDB upgrade not required" + return 1 } -# check arguments for an option that would cause mysqld to stop +# check arguments for an option that would cause mariadbd to stop # return true if there is one _mysql_want_help() { local arg @@ -312,14 +484,15 @@ _mysql_want_help() { } _main() { - # if command starts with an option, prepend mysqld + # if command starts with an option, prepend mariadbd if [ "${1:0:1}" = '-' ]; then - set -- mysqld "$@" + set -- mariadbd "$@" fi + #ENDOFSUBSTITUTIONS # skip setup if they aren't running mysqld or want an option that stops mysqld - if [ "$1" = 'mysqld' ] && ! _mysql_want_help "$@"; then - mysql_note "Entrypoint script for MySQL Server ${MARIADB_VERSION} started." + if [ "$1" = 'mariadbd' ] || [ "$1" = 'mysqld' ] && ! _mysql_want_help "$@"; then + mysql_note "Entrypoint script for MariaDB Server ${MARIADB_VERSION} started." mysql_check_config "$@" # Load various environment variables @@ -329,7 +502,7 @@ _main() { # If container is started as root user, restart as dedicated mysql user if [ "$(id -u)" = "0" ]; then mysql_note "Switching to dedicated user 'mysql'" - exec gosu mysql "$BASH_SOURCE" "$@" + exec gosu mysql "${BASH_SOURCE[0]}" "$@" fi # there's no database, so it needs to be initialized @@ -348,14 +521,27 @@ _main() { docker_setup_db docker_process_init_files /docker-entrypoint-initdb.d/* + # Wait until after /docker-entrypoint-initdb.d is performed before setting + # root@localhost password to a hash we don't know the password for. + if [ -n "${MARIADB_ROOT_PASSWORD_HASH}" ]; then + mysql_note "Setting root@localhost password hash" + docker_process_sql --dont-use-mysql-root-password --binary-mode <<-EOSQL + SET @@SESSION.SQL_LOG_BIN=0; + SET PASSWORD FOR 'root'@'localhost'= '${MARIADB_ROOT_PASSWORD_HASH}'; + EOSQL + fi mysql_note "Stopping temporary server" docker_temp_server_stop mysql_note "Temporary server stopped" echo - mysql_note "MySQL init process done. Ready for start up." + mysql_note "MariaDB init process done. Ready for start up." echo + # MDEV-27636 mariadb_upgrade --check-if-upgrade-is-needed cannot be run offline + #elif mariadb-upgrade --check-if-upgrade-is-needed; then + elif _check_if_upgrade_is_needed; then + docker_mariadb_upgrade "$@" fi fi exec "$@" diff --git a/unit-test-Docker-Image/healthcheck.sh b/unit-test-Docker-Image/healthcheck.sh new file mode 100644 index 0000000000..c8caa69fec --- /dev/null +++ b/unit-test-Docker-Image/healthcheck.sh @@ -0,0 +1,334 @@ +#!/bin/bash +# +# Healthcheck script for MariaDB +# +# Runs various tests on the MariaDB server to check its health. Pass the tests +# to run as arguments. If all tests succeed, the server is considered healthy, +# otherwise it's not. +# +# Arguments are processed in strict order. Set replication_* options before +# the --replication option. This allows a different set of replication checks +# on different connections. +# +# --su{=|-mariadb} is option to run the healthcheck as a different unix user. +# Useful if mariadb@localhost user exists with unix socket authentication +# Using this option disregards previous options set, so should usually be the +# first option. +# +# Some tests require SQL privileges. +# +# TEST MINIMUM GRANTS REQUIRED +# connect none* +# innodb_initialized USAGE +# innodb_buffer_pool_loaded USAGE +# galera_online USAGE +# replication REPLICATION_CLIENT (<10.5)or REPLICA MONITOR (10.5+) +# mariadbupgrade none, however unix user permissions on datadir +# +# The SQL user used is the default for the mariadb client. This can be the unix user +# if no user(or password) is set in the [mariadb-client] section of a configuration +# file. --defaults-{file,extra-file,group-suffix} can specify a file/configuration +# different from elsewhere. +# +# Note * though denied error message will result in error log without +# any permissions. + +set -eo pipefail + +_process_sql() +{ + mariadb ${nodefaults:+--no-defaults} \ + ${def['file']:+--defaults-file=${def['file']}} \ + ${def['extra_file']:+--defaults-extra-file=${def['extra_file']}} \ + ${def['group_suffix']:+--defaults-group-suffix=${def['group_suffix']}} \ + -B "$@" +} + +# TESTS + + +# CONNECT +# +# Tests that a connection can be made over TCP, the final state +# of the entrypoint and is listening. The authentication used +# isn't tested. +connect() +{ + set +e +o pipefail + mariadb ${nodefaults:+--no-defaults} \ + ${def['file']:+--defaults-file=${def['file']}} \ + ${def['extra_file']:+--defaults-extra-file=${def['extra_file']}} \ + ${def['group_suffix']:+--defaults-group-suffix=${def['group_suffix']}} \ + -h localhost --protocol tcp -e 'select 1' 2>&1 \ + | grep -qF "Can't connect" + local ret=${PIPESTATUS[1]} + set -eo pipefail + if (( "$ret" == 0 )); then + # grep Matched "Can't connect" so we fail + return 1 + fi + return 0 +} + +# INNODB_INITIALIZED +# +# This tests that the crash recovery of InnoDB has completed +# along with all the other things required to make it to a healthy +# operational state. Note this may return true in the early +# states of initialization. Use with a connect test to avoid +# these false positives. +innodb_initialized() +{ + local s + s=$(_process_sql --skip-column-names -e 'select 1 from information_schema.ENGINES WHERE engine="innodb" AND support in ("YES", "DEFAULT", "ENABLED")') + [ "$s" == 1 ] +} + +# INNODB_BUFFER_POOL_LOADED +# +# Tests the load of the innodb buffer pool as been complete +# implies innodb_buffer_pool_load_at_startup=1 (default), or if +# manually SET innodb_buffer_pool_load_now=1 +innodb_buffer_pool_loaded() +{ + local s + s=$(_process_sql --skip-column-names -e 'select VARIABLE_VALUE from information_schema.GLOBAL_STATUS WHERE VARIABLE_NAME="Innodb_buffer_pool_load_status"') + if [[ $s =~ 'load completed' ]]; then + return 0 + fi + return 1 +} + +# GALERA_ONLINE +# +# Tests that the galera node is in the SYNCed state +galera_online() +{ + local s + s=$(_process_sql --skip-column-names -e 'select VARIABLE_VALUE from information_schema.GLOBAL_STATUS WHERE VARIABLE_NAME="WSREP_LOCAL_STATE"') + # 4 from https://galeracluster.com/library/documentation/node-states.html#node-state-changes + # not https://xkcd.com/221/ + if [[ $s -eq 4 ]]; then + return 0 + fi + return 1 +} + +# REPLICATION +# +# Tests the replication has the required set of functions: +# --replication_all -> Checks all replication sources +# --replication_name=n -> sets the multisource connection name tested +# --replication_io -> IO thread is running +# --replication_sql -> SQL thread is running +# --replication_seconds_behind_master=n -> less than or equal this seconds of delay +# --replication_sql_remaining_delay=n -> less than or equal this seconds of remaining delay +# (ref: https://mariadb.com/kb/en/delayed-replication/) +replication() +{ + # SHOW REPLICA available 10.5+ + # https://github.com/koalaman/shellcheck/issues/2383 + # shellcheck disable=SC2016,SC2026 + _process_sql -e "show ${repl['all']:+all} slave${repl['all']:+s} ${repl['name']:+'${repl['name']}'} status\G" | \ + { + # required for trim of leading space. + shopt -s extglob + # Row header + read -t 5 -r + # read timeout + [ $? -gt 128 ] && return 1 + while IFS=":" read -t 1 -r n v; do + # Trim leading space + n=${n##+([[:space:]])} + # Leading space on all values by the \G format needs to be trimmed. + v=${v:1} + case "$n" in + Slave_IO_Running) + if [ -n "${repl['io']}" ] && [ "$v" = 'No' ]; then + return 1 + fi + ;; + Slave_SQL_Running) + if [ -n "${repl['sql']}" ] && [ "$v" = 'No' ]; then + return 1 + fi + ;; + Seconds_Behind_Master) + # A NULL value is the IO thread not running: + if [ -n "${repl['seconds_behind_master']}" ] && + { [ "$v" = NULL ] || + (( "${repl['seconds_behind_master']}" < "$v" )); }; then + return 1 + fi + ;; + SQL_Remaining_Delay) + # Unlike Seconds_Behind_Master, sql_remaining_delay will hit NULL + # once replication is caught up - https://mariadb.com/kb/en/delayed-replication/ + if [ -n "${repl['sql_remaining_delay']}" ] && + [ "$v" != NULL ] && + (( "${repl['sql_remaining_delay']}" < "$v" )); then + return 1 + fi + ;; + esac + done + # read timeout + [ $? -gt 128 ] && return 1 + return 0 + } + # reachable in command not found(?) + # shellcheck disable=SC2317 + return $? +} + +# mariadbupgrade +# +# Test the lock on the file $datadir/mysql_upgrade_info +# https://jira.mariadb.org/browse/MDEV-27068 +mariadbupgrade() +{ + local f="$datadir/mysql_upgrade_info" + if [ -r "$f" ]; then + flock --exclusive --nonblock -n 9 9<"$f" + return $? + fi + return 0 +} + + +# MAIN + +if [ $# -eq 0 ]; then + echo "At least one argument required" >&2 + exit 1 +fi + +#ENDOFSUBSTITUTIONS +# Marks the end of mysql -> mariadb name changes in 10.6+ +# Global variables used by tests +declare -A repl +declare -A def +nodefaults= +datadir=/var/lib/mysql + +_repl_param_check() +{ + case "$1" in + seconds_behind_master) ;& + sql_remaining_delay) + if [ -z "${repl['io']}" ]; then + repl['io']=1 + echo "Forcing --replication_io=1, $1 requires IO thread to be running" >&2 + fi + ;; + all) + if [ -n "${repl['name']}" ]; then + unset 'repl[name]' + echo "Option --replication_all incompatible with specified source --replication_name, clearing replication_name" >&2 + fi + ;; + name) + if [ -n "${repl['all']}" ]; then + unset 'repl[all]' + echo "Option --replication_name incompatible with --replication_all, clearing replication_all" >&2 + fi + ;; + esac +} + +_test_exists() { + declare -F "$1" > /dev/null + return $? +} + +while [ $# -gt 0 ]; do + case "$1" in + --su=*) + u="${1#*=}" + shift + exec gosu "${u}" "${BASH_SOURCE[0]}" "$@" + ;; + --su) + shift + u=$1 + shift + exec gosu "$u" "${BASH_SOURCE[0]}" "$@" + ;; + --su-mysql) + shift + exec gosu mysql "${BASH_SOURCE[0]}" "$@" + ;; + --replication_*=*) + # Change the n to what is between _ and = and make lower case + n=${1#*_} + n=${n%%=*} + n=${n,,*} + # v is after the = + v=${1#*=} + repl[$n]=$v + _repl_param_check "$n" + ;; + --replication_*) + # Without =, look for a non --option next as the value, + # otherwise treat it as an "enable", just equate to 1. + # Clearing option is possible with "--replication_X=" + n=${1#*_} + n=${n,,*} + if [ "${2:0:2}" == '--' ]; then + repl[$n]=1 + else + repl[$n]=$2 + shift + fi + _repl_param_check "$n" + ;; + --datadir=*) + datadir=${1#*=} + ;; + --datadir) + shift + datadir=${1} + ;; + --no-defaults) + unset def + nodefaults=1 + ;; + --defaults-file=*|--defaults-extra-file=*|--defaults-group-suffix=*) + n=${1:11} # length --defaults- + n=${n%%=*} + n=${n//-/_} + # v is after the = + v=${1#*=} + def[$n]=$v + nodefaults= + ;; + --defaults-file|--defaults-extra-file|--defaults-group-suffix) + n=${1:11} # length --defaults- + n=${n//-/_} + if [ "${2:0:2}" == '--' ]; then + def[$n]="" + else + def[$n]=$2 + shift + fi + nodefaults= + ;; + --*) + test=${1#--} + ;; + *) + echo "Unknown healthcheck option $1" >&2 + exit 1 + esac + if [ -n "$test" ]; then + if ! _test_exists "$test" ; then + echo "healthcheck unknown option or test '$test'" >&2 + exit 1 + elif ! "$test"; then + echo "healthcheck $test failed" >&2 + exit 1 + fi + test= + fi + shift +done \ No newline at end of file diff --git a/unit-test-Docker-Image/my_conf.cnf b/unit-test-Docker-Image/my_conf.cnf index ad36b9376f..dc23f6690a 100644 --- a/unit-test-Docker-Image/my_conf.cnf +++ b/unit-test-Docker-Image/my_conf.cnf @@ -31,3 +31,5 @@ default-storage-engine = rocksdb # Import all .cnf files from configuration directory !includedir /etc/mysql/conf.d/ !includedir /etc/mysql/mariadb.conf.d/ + +log_warnings = 1 \ No newline at end of file