diff --git a/keys/webhook_bluem_nl_20240701.pem b/keys/webhook_bluem_nl_20240701.pem new file mode 100644 index 0000000..60a5b27 --- /dev/null +++ b/keys/webhook_bluem_nl_20240701.pem @@ -0,0 +1,35 @@ +-----BEGIN CERTIFICATE----- +MIIGKjCCBRKgAwIBAgIQaiIG52BvKyk3SnjzLkAKvzANBgkqhkiG9w0BAQsFADCB +jzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQD +Ey5TZWN0aWdvIFJTQSBEb21haW4gVmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENB +MB4XDTI0MDYxOTAwMDAwMFoXDTI1MDcyMDIzNTk1OVowGzEZMBcGA1UEAxMQd2Vi +aG9vay5ibHVlbS5ubDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANR0 +p3VcJdGMpc9+sH5ot88RZY3N+9lcXE7YMuv3osoAfwy8YcU7T7jo+oSGne+qou51 +RfKPxST2sDkPJ1pDvfpX5ZLzAvbtNEm/RpOZ67BwTW97LUQfA9oddvlp2X9BhyOK +MNdlfcORMN7OiqzbI84jYwxE+94zDsdH7EaqaCAz9zuZrbnvB+23CiP4G9Val5t3 +clSPPyNg0dTQJAeMEPoPlc/ffvcFwDKGBiTQj+zYmeCQzxoK6dDW/NGNjyx/Sgys +tafrjHATcejM7Uy2mfp3Em+K4MnRjbwY23Z5Dfto+Hbjnwda9RyOFKCOW3T4frhD +LR22IPrwpjCszpGGpJsCAwEAAaOCAvMwggLvMB8GA1UdIwQYMBaAFI2MXsRUrYrh +d+mb+ZsF4bgBjWHhMB0GA1UdDgQWBBTsIfa5i76WgLEbig4BSSU3fV1iLDAOBgNV +HQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYI +KwYBBQUHAwIwSQYDVR0gBEIwQDA0BgsrBgEEAbIxAQICBzAlMCMGCCsGAQUFBwIB +FhdodHRwczovL3NlY3RpZ28uY29tL0NQUzAIBgZngQwBAgEwgYQGCCsGAQUFBwEB +BHgwdjBPBggrBgEFBQcwAoZDaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdv +UlNBRG9tYWluVmFsaWRhdGlvblNlY3VyZVNlcnZlckNBLmNydDAjBggrBgEFBQcw +AYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wGwYDVR0RBBQwEoIQd2ViaG9vay5i +bHVlbS5ubDCCAX8GCisGAQQB1nkCBAIEggFvBIIBawFpAHYA3dzKNJXX4RYF55Uy ++sef+D0cUN/bADoUEnYKLKy7yCoAAAGQL74xPAAABAMARzBFAiBWfU5pYhbUC7Jw +2Bx+vNJYhWlsxOlmiwjYsMPez/5O/gIhAOP9/3nDW71yaEYxVzdivtUKzMZ62EID +ck4QsexS2AZ0AHcADeHyMCvTDcFAYhIJ6lUu/Ed0fLHX6TDvDkIetH5OqjQAAAGQ +L74w1wAABAMASDBGAiEAm3nHa0RL8AIR8a1EKJEZpiVxJH4et8nQZG8FDlQGTx0C +IQDGP167nt4+sPBSR/zWkyphYsy+87rVIfpaptk51NsyIgB2ABLxTjS9U3JMhAYZ +w48/ehP457Vih4icbTAFhOvlhiY6AAABkC++MNIAAAQDAEcwRQIhAN0zRMZCr9+8 +v6QxLKFWOWS+wlV+C6WSUXz/b+YQyOGZAiB4ZT5InSEdCB4Hy5a0iDEKnAUnMTZ7 +zpB7L0mx8pqcWTANBgkqhkiG9w0BAQsFAAOCAQEAJplM53CTiGwueuwKGd1XrJmB +iKYDCtwDkJERrDNB2thirACAkLAf5rIDa+TfLZ/DwzliETrxdvc9tcYh/e8Zlvgi +rLvdYsJw//wxL4NR3IApZy9xrDzxu7HHoxUo+h2j5LsM+LqfvLRKln+cCgrSPdhL +59BUQkHPwf63lKQEFabkOm6pp08RY3OD14sMvtiY9QBLhfMCsWZp8SXRnjyMKDqM +DyM73XHH77YJWDj63VheGk/JitIOuuW7+8QXIcghggE1zL1+63IZVkZmE7c0Eh4B +R5K//mMlNGmeiv0nma7k3KTGvH8pBtieoc8yu1bvkTK+EDaf5SEVquqitA6c/Q== +-----END CERTIFICATE----- diff --git a/src/Validators/WebhookSignatureValidation.php b/src/Validators/WebhookSignatureValidation.php index 3b5274c..6259ba5 100644 --- a/src/Validators/WebhookSignatureValidation.php +++ b/src/Validators/WebhookSignatureValidation.php @@ -9,12 +9,11 @@ namespace Bluem\BluemPHP\Validators; use Bluem\BluemPHP\Helpers\Now; -use Selective\XmlDSig\PublicKeyStore; +use Exception; use Selective\XmlDSig\CryptoVerifier; +use Selective\XmlDSig\PublicKeyStore; use Selective\XmlDSig\XmlSignatureVerifier; -use Exception; - class WebhookSignatureValidation extends WebhookValidator { private const KEY_FOLDER = "/keys/"; @@ -73,13 +72,17 @@ private function getKeyFileName(): string $prefix = 'webhook_bluem_nl_'; // Check the datetime for certificates - if ($this->env === BLUEM_ENVIRONMENT_TESTING && ( ( $current_date === "2023-06-28" && $current_time >= "08:00" ) || $current_date > "2023-06-28")) { + if ( ( $current_date === "2024-07-01" && $current_time >= "12:00" ) || $current_date > "2024-07-01") + { + $timestamp = '20240701'; + } elseif ($this->env === BLUEM_ENVIRONMENT_TESTING && ( ( $current_date === "2023-06-28" && $current_time >= "08:00" ) || $current_date > "2023-06-28")) { $timestamp = '202306140200-202407050159'; } elseif ($this->env === BLUEM_ENVIRONMENT_PRODUCTION && ( ( $current_date === "2023-07-04" && $current_time >= "08:00" ) || $current_date > "2023-07-04")) { $timestamp = '202306140200-202407050159'; } else { $timestamp = '202206090200-202307110159'; } + return $prefix . $timestamp . '.pem'; } }