'get '.parse_url($target, PHP_URL_PATH), 'Date' => $date, 'Host' => parse_url($target, PHP_URL_HOST), 'Content-Type' => 'application/activity+json', ]; return $headers; } protected function _httpSign(&$headers, $key) { $stringToSign = $this->_headersToSigningString($headers); $signedHeaders = implode(' ', array_map('strtolower', array_keys($headers))); $privateKey = openssl_pkey_get_private('file://'.$key['key']); openssl_sign($stringToSign, $signature, $privateKey, OPENSSL_ALGO_SHA256); $signature = base64_encode($signature); $signatureHeader = 'keyId="'.$key['keyId'].'",headers="'.$signedHeaders.'",algorithm="rsa-sha256",signature="'.$signature.'"'; unset($headers['(request-target)']); $headers['Signature'] = $signatureHeader; } }