code: def NewFromContent(cls,
                       content,
                       urn,
                       chunk_size=1024,
                       token=None,
                       private_key=None,
                       public_key=None):
      
      aff4.FACTORY.Delete(urn, token=token)
      with data_store.DB.GetMutationPool() as pool:
        with aff4.FACTORY.Create(
            urn, cls, mode="w", mutation_pool=pool, token=token) as fd:
          for start_of_chunk in range(0, len(content), chunk_size):
            chunk = content[start_of_chunk:start_of_chunk + chunk_size]
            blob_rdf = rdf_crypto.SignedBlob()
            blob_rdf.Sign(chunk, private_key, public_key)
            fd.Add(blob_rdf, mutation_pool=pool)
  
      return urn
docs: Alternate constructor for GRRSignedBlob.
  
      Creates a GRRSignedBlob from a content string by chunking it and signing
      each chunk.
  
      Args:
        content: The data to stored in the GRRSignedBlob.
        urn: The AFF4 URN to create.
  
        chunk_size: Data will be chunked into this size (each chunk is
          individually signed.
        token: The ACL Token.
        private_key: An rdf_crypto.RSAPrivateKey() instance.
        public_key: An rdf_crypto.RSAPublicKey() instance.
  
      Returns:
        the URN of the new object written.