code: def _valid_request_body(
              self, cert_chain, signature, serialized_request_env):
          # type: (Certificate, str, str) -> None
          
          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)
docs: 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