private function decryptRequest(EncryptionKeyInterface $key, ServerRequestInterface $request, string $rawBody, int $version) :? string
    {
        static $response = null;
        static $nonce = null;
        static $publicKey = null;

        $response = new Response(
            $key->getBoxSecretKey()
        );

        if ($version === 1) {
            if (!$request->hasHeader('x-pubkey') || !$request->hasHeader('x-nonce')) {
                throw new Exception('Missing nonce or public key header. Unable to decrypt response.');
            }

            $publicKey = \base64_decode($request->getHeaderLine('x-pubkey'));
            $nonce = \base64_decode($request->getHeaderLine('x-nonce'));
        }

        $decryptedRequest = $response->decrypt(
            $rawBody,
            $publicKey,
            $nonce
        );

        $hashKey = $request->getHeaderLine('x-hashid');
        if ($key->isEphemeral()) {
            $this->cache->delete($hashKey);
        }

        return $decryptedRequest;
    }
private function decryptRequest(EncryptionKeyInterface $key, ServerRequestInterface $request, string $rawBody, int $version) :? string
    {
        static $response = null;
        static $nonce = null;
        static $publicKey = null;

        $response = new Response(
            $key->getBoxSecretKey()
        );

        if ($version === 1) {
            if (!$request->hasHeader('x-pubkey') || !$request->hasHeader('x-nonce')) {
                throw new Exception('Missing nonce or public key header. Unable to decrypt response.');
            }

            $publicKey = \base64_decode($request->getHeaderLine('x-pubkey'));
            $nonce = \base64_decode($request->getHeaderLine('x-nonce'));
        }

        $decryptedRequest = $response->decrypt(
            $rawBody,
            $publicKey,
            $nonce
        );

        $hashKey = $request->getHeaderLine('x-hashid');
        if ($key->isEphemeral()) {
            $this->cache->delete($hashKey);
        }

        return $decryptedRequest;
    }
private function decryptRequest ( EncryptionKeyInterface $ key , ServerRequestInterface $ request , string $ rawBody , int $ version ) : ? string { static $ response = null ; static $ nonce = null ; static $ publicKey = null ; $ response = new Response ( $ key -> getBoxSecretKey ( ) ) ; if ( $ version === 1 ) { if ( ! $ request -> hasHeader ( 'x-pubkey' ) || ! $ request -> hasHeader ( 'x-nonce' ) ) { throw new Exception ( 'Missing nonce or public key header. Unable to decrypt response.' ) ; } $ publicKey = \ base64_decode ( $ request -> getHeaderLine ( 'x-pubkey' ) ) ; $ nonce = \ base64_decode ( $ request -> getHeaderLine ( 'x-nonce' ) ) ; } $ decryptedRequest = $ response -> decrypt ( $ rawBody , $ publicKey , $ nonce ) ; $ hashKey = $ request -> getHeaderLine ( 'x-hashid' ) ; if ( $ key -> isEphemeral ( ) ) { $ this -> cache -> delete ( $ hashKey ) ; } return $ decryptedRequest ; }
Decrypts a request
@param EncryptionKeyInterface $key
@param ServerRequestInterface $request
@param string $rawBody
@param int $version
@return string|null
Decrypts a request