本文整理汇总了PHP中SAML2_Utils::castKey方法的典型用法代码示例。如果您正苦于以下问题:PHP SAML2_Utils::castKey方法的具体用法?PHP SAML2_Utils::castKey怎么用?PHP SAML2_Utils::castKey使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SAML2_Utils
的用法示例。
在下文中一共展示了SAML2_Utils::castKey方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: validateSignature
/**
* Validate the signature on a HTTP-Redirect message.
*
* Throws an exception if we are unable to validate the signature.
*
* @param array $data The data we need to validate the query string.
* @param XMLSecurityKey $key The key we should validate the query against.
* @throws Exception
*/
public static function validateSignature(array $data, XMLSecurityKey $key)
{
assert('array_key_exists("Query", $data)');
assert('array_key_exists("SigAlg", $data)');
assert('array_key_exists("Signature", $data)');
$query = $data['Query'];
$sigAlg = $data['SigAlg'];
$signature = $data['Signature'];
$signature = base64_decode($signature);
if ($key->type !== XMLSecurityKey::RSA_SHA1) {
throw new Exception('Invalid key type for validating signature on query string.');
}
if ($key->type !== $sigAlg) {
$key = SAML2_Utils::castKey($key, $sigAlg);
}
if (!$key->verifySignature($query, $signature)) {
throw new Exception('Unable to validate signature on query string.');
}
}