private XElement CreateKeyElement()

in src/Azure.WebSites.DataProtection/AzureWebsitesXmlRepository.cs [95:109]


        private XElement CreateKeyElement(CryptographicKey k, int position)
        {
            var newDescriptor = new AuthenticatedEncryptorDescriptor(_encryptorConfiguration, new Secret(k.Value));
            var descriptor = newDescriptor.ExportToXml();
  
            return new XElement(KeyElementName,
                new XAttribute(IdAttributeName, k.Id), 
                new XAttribute(VersionAttributeName, 1),
                new XElement(CreationDateElementName, DateTimeOffset.UtcNow.AddMinutes(-position)),
                new XElement(ActivationDateElementName, DateTimeOffset.UtcNow.AddMinutes(-position)),
                new XElement(ExpirationDateElementName, DateTimeOffset.UtcNow.AddYears(10)),
                new XElement(DescriptorElementName,
                    new XAttribute(DeserializerTypeAttributeName, descriptor.DeserializerType.AssemblyQualifiedName), 
                    descriptor.SerializedDescriptorElement));
        }