public function sign($payload, array $signature_protected_headers, Object\JWKInterface $signature_key)
{
$jws = Factory\JWSFactory::createJWS($payload);
$jws = $jws->addSignatureInformation($signature_key, $signature_protected_headers);
$this->signer->sign($jws);
return $jws->toCompactJSON(0);
}
/** * @param array $payload * * @return string */ private function sign(array $payload) { $payload = array_merge($payload, $this->getAdditionalPayload()); $headers = $this->getSignatureHeaders(); $signature_key = $this->signature_jwkset->getKey(0); if ($signature_key->has('kid')) { $headers['kid'] = $signature_key->get('kid'); } return $this->jwt_creator->sign($payload, $headers, $signature_key); }