Publish User Content Keys When File is Published
In the current implementation of npChat, a consumer who fetches a file specifically for them will then fetch that key. The producer will respond to the interest for the key by encrypting the key with that user's public key and serving the data. In the case that the producer is offline and the data is handled by a repo, the consumer would be able to fetch the encrypted file, but not the key.
npChat needs to encrypt and publish all of the necessary keys when it publishes a file.