using MongoDB.Entities; namespace PrivaPub.Models { // The server's VAPID key pair (RFC 8292, completion program R9): one P-256 key, made the first time something needs it // (Infrastructure/Push/Vapid) and kept here, one document with the fixed id `vapid`. Every push carries a JWT it signs, // and the push services tie each subscription to its public key, which the instance API and app registrations // advertise. Never in a backup and never dropped by a restore (ServerBackup.Excluded): a restored key would break every // subscription a client made since. public class PushKeys : Entity { public const string Name = "vapid"; public string PublicKey { get; set; }//the uncompressed point (0x04 || X || Y), base64url without padding public string PrivateKey { get; set; }//the private scalar D, base64url without padding public DateTime CreatedAt { get; set; } = DateTime.UtcNow; } }