private function checkUsage(JWKInterface $key, $usage)
{
$use = $key->get('use');
switch ($usage) {
case 'verification':
case 'signature':
Assertion::eq('sig', $use, 'Key cannot be used to sign or verify a signature');
return true;
case 'encryption':
case 'decryption':
Assertion::eq('enc', $use, 'Key cannot be used to encrypt or decrypt');
return true;
default:
throw new \InvalidArgumentException('Unsupported key usage.');
}
}