<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _valid_request_body( self, cert_chain, signature, serialized_request_env):
 # type: (Certificate, str, str) -> None """Validate the request body hash with signature. This method checks if the hash value of the request body matches with the hash value of the signature, decrypted using certificate chain. A :py:class:`VerificationException` is raised if there is a mismatch. :param cert_chain: Certificate chain to be validated :type cert_chain: cryptography.x509.Certificate :param signature: Encrypted signature of the request :type: str :param serialized_request_env: Raw request body :type: str :raises: :py:class:`VerificationException` if certificate is not valid """

        decoded_signature = base64.b64decode(signature)
        public_key = cert_chain.public_key()
        request_env_bytes = serialized_request_env.encode(CHARACTER_ENCODING)

        try:
            public_key.verify(
                decoded_signature, request_env_bytes,
                self._padding, self._hash_algorithm)
        except InvalidSignature as e:
            raise VerificationException("Request body is not valid", e)