/**
* {@inheritdoc}
*/
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);
}