Exemplo n.º 1
0
 /**
  * Constructor
  *
  * @param JWKParameter ...$params
  * @throws \UnexpectedValueException If missing required parameter
  */
 public function __construct(JWKParameter ...$params)
 {
     parent::__construct(...$params);
     foreach (self::MANAGED_PARAMS as $name) {
         if (!$this->has($name)) {
             throw new \UnexpectedValueException("Missing '{$name}' parameter.");
         }
     }
     if ($this->keyTypeParameter()->value() != KeyTypeParameter::TYPE_RSA) {
         throw new \UnexpectedValueException("Invalid key type.");
     }
     // cast private exponent to correct class
     $key = JWKParameter::PARAM_PRIVATE_EXPONENT;
     $this->_parameters[$key] = new PrivateExponentParameter($this->_parameters[$key]->value());
 }