Analogic\ACME\Lescript::signedRequest PHP Метод

signedRequest() приватный метод

private signedRequest ( $uri, array $payload )
$payload array
    private function signedRequest($uri, array $payload)
    {
        $privateKey = $this->readPrivateKey($this->accountKeyPath);
        $details = openssl_pkey_get_details($privateKey);
        $header = array("alg" => "RS256", "jwk" => array("kty" => "RSA", "n" => Base64UrlSafeEncoder::encode($details["rsa"]["n"]), "e" => Base64UrlSafeEncoder::encode($details["rsa"]["e"])));
        $protected = $header;
        $protected["nonce"] = $this->client->getLastNonce();
        $payload64 = Base64UrlSafeEncoder::encode(str_replace('\\/', '/', json_encode($payload)));
        $protected64 = Base64UrlSafeEncoder::encode(json_encode($protected));
        openssl_sign($protected64 . '.' . $payload64, $signed, $privateKey, "SHA256");
        $signed64 = Base64UrlSafeEncoder::encode($signed);
        $data = array('header' => $header, 'protected' => $protected64, 'payload' => $payload64, 'signature' => $signed64);
        $this->log("Sending signed request to {$uri}");
        return $this->client->post($uri, json_encode($data));
    }