/** * @param \Jose\Object\JWSInterface $jws * @param \Jose\Object\SignatureInterface $signature */ private function computeSignature(Object\JWSInterface $jws, Object\SignatureInterface &$signature) { if (null === $signature->getSignatureKey()) { return; } $this->checkKeyUsage($signature->getSignatureKey(), 'signature'); $signature_algorithm = $this->getSignatureAlgorithm($signature->getAllHeaders(), $signature->getSignatureKey()); $input = $this->getInputToSign($jws, $signature); $value = $signature_algorithm->sign($signature->getSignatureKey(), $input); $signature = Object\Signature::createSignatureFromLoadedData($value, $signature->getEncodedProtectedHeaders(), $signature->getHeaders()); }