public function createSealedRequest(
        string $method,
        string $uri,
        string $body,
        SealingPublicKey $key,
        array $headers = []
    ): RequestInterface {
        return new Request(
            $method,
            Uri::createFromString($uri),
            new Headers($headers),
            [],
            [],
            $this->stringToStream(
                Base64UrlSafe::encode(Simple::seal($body, $key))
            ),
            []
        );
    }
public function createSealedRequest(
        string $method,
        string $uri,
        string $body,
        SealingPublicKey $key,
        array $headers = []
    ): RequestInterface {
        return new Request(
            $method,
            Uri::createFromString($uri),
            new Headers($headers),
            [],
            [],
            $this->stringToStream(
                Base64UrlSafe::encode(Simple::seal($body, $key))
            ),
            []
        );
    }
public function createSealedRequest ( string $ method , string $ uri , string $ body , SealingPublicKey $ key , array $ headers = [ ] ) : RequestInterface { return new Request ( $ method , Uri :: createFromString ( $ uri ) , new Headers ( $ headers ) , [ ] , [ ] , $ this -> stringToStream ( Base64UrlSafe :: encode ( Simple :: seal ( $ body , $ key ) ) ) , [ ] ) ; }
Encrypt your HTTP request with the server's public key, so that only
the server can decrypt the message.

@param string $method
@param string $uri
@param string $body
@param SealingPublicKey $key
@param array $headers
@return RequestInterface
Encrypt your HTTP request with the server s public key so that only the server can decrypt the message .