Jose\Factory\JWSFactory::createJWSWithDetachedPayloadAndSign PHP Method

createJWSWithDetachedPayloadAndSign() private static method

private static createJWSWithDetachedPayloadAndSign ( mixed $payload, Jose\Object\JWKInterface $signature_key, array $protected_headers = [], $headers = [] ) : Jose\Object\JWSInterface
$payload mixed
$signature_key Jose\Object\JWKInterface
$protected_headers array
return Jose\Object\JWSInterface
    private static function createJWSWithDetachedPayloadAndSign($payload, JWKInterface $signature_key, array $protected_headers = [], $headers = [])
    {
        $jws = self::createJWS($payload, true);
        $jws = $jws->addSignatureInformation($signature_key, $protected_headers, $headers);
        $complete_headers = array_merge($protected_headers, $headers);
        Assertion::keyExists($complete_headers, 'alg', 'No "alg" parameter set in the header');
        $signer = Signer::createSigner([$complete_headers['alg']]);
        $signer->sign($jws);
        return $jws;
    }