Is there a key management approach for the following scenario:
Customer Alice uses an application S1 to generate a file. The contents are expected to be encrypted such that it can only be decrypted by someone who owns another application S2.
Alice distributes the file publicly.
Customer Bob owns application S2 and is able to decrypt the file.
In this case, Alice does not know Bob, and is not exchanging any keys with him directly. The key exchange is offline and between the applications S1 and S2!
How will application S2 store its decryption key? Obfuscating it in the binary is a bad idea. Let's say that using a key server is a non-starter in my scenario. Are there any other solutions?
Does any well-known product run into this scenario? How did they solve it?