mirror of
https://github.com/SociallyDev/Spaces-API.git
synced 2025-08-14 02:27:23 -07:00
v2: Updates
* Simplifies & beautifies everything * Introduces a new Class system. * Errors are defaulted to AWS's handler. * New function names & more efficient handling. * Should fix a majority of the errors. Please read the README for more!
This commit is contained in:
parent
ad0726e41e
commit
e6d7753dc8
1095 changed files with 45088 additions and 2911 deletions
|
@ -57,14 +57,16 @@ class MessageValidator
|
|||
*
|
||||
* @param callable $certClient Callable used to download the certificate.
|
||||
* Should have the following function signature:
|
||||
* `function (string $certUrl) : string $certContent`
|
||||
* `function (string $certUrl) : string|false $certContent`
|
||||
* @param string $hostNamePattern
|
||||
*/
|
||||
public function __construct(
|
||||
callable $certClient = null,
|
||||
$hostNamePattern = ''
|
||||
) {
|
||||
$this->certClient = $certClient ?: 'file_get_contents';
|
||||
$this->certClient = $certClient ?: function($certUrl) {
|
||||
return @ file_get_contents($certUrl);
|
||||
};
|
||||
$this->hostPattern = $hostNamePattern ?: self::$defaultHostPattern;
|
||||
}
|
||||
|
||||
|
@ -86,6 +88,11 @@ class MessageValidator
|
|||
// Get the certificate.
|
||||
$this->validateUrl($message['SigningCertURL']);
|
||||
$certificate = call_user_func($this->certClient, $message['SigningCertURL']);
|
||||
if ($certificate === false) {
|
||||
throw new InvalidSnsMessageException(
|
||||
"Cannot get the certificate from \"{$message['SigningCertURL']}\"."
|
||||
);
|
||||
}
|
||||
|
||||
// Extract the public key.
|
||||
$key = openssl_get_publickey($certificate);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue