private static Blob ToBlobId(SecretItem item) { int idx = item.Id.LastIndexOf('/'); var blob = new Blob(item.Id.Substring(idx + 1), BlobItemKind.File); blob.LastModificationTime = item.Attributes.Updated; if(item.Attributes.Created != null) blob.Properties["Created"] = item.Attributes.Created.Value.ToIso8601DateString(); if(item.Attributes.Enabled != null) blob.Properties["Enabled"] = item.Attributes.Enabled.Value.ToString(); if(item.Attributes.Expires != null) blob.Properties["Expires"] = item.Attributes.Expires.Value.ToIso8601DateString(); if(item.Attributes.NotBefore != null) blob.Properties["NotBefore"] = item.Attributes.NotBefore.Value.ToIso8601DateString(); if(item.Attributes.RecoveryLevel != null) blob.Properties["RecoveryLevel"] = item.Attributes.RecoveryLevel; if(item.ContentType != null) blob.Properties["ContentType"] = item.ContentType; if(item.Managed != null) blob.Properties["Managed"] = item.Managed.Value.ToString(); if(item.Tags != null && item.Tags.Count > 0) blob.Metadata.MergeRange(item.Tags); return blob; }
public async Task SetSecret(SecretItem secret, string secretValue, IDictionary <string, string> tags) { Log.LogDebug($"Set new value for secret '{secret.Identifier.Name}' in KeyVault"); await _keyVaultClient.SetSecretAsync(_keyVaultUrl, secret.Identifier.Name, secretValue, tags); Log.LogInformation($"Updated the secret '{secret.Identifier.Name}' with a new value in the KeyVault"); }
public IActionResult Create([FromBody] SecretItem item) { if (item == null) { return(BadRequest()); } if (item.Value == null) { return(Ok()); } var token = Hash.GetSecureToken(_rndProvider); if (item.TimeToLive == null) { // defaults to 5 minutes item.TimeToLive = "5"; } var lifespan = TimeSpan.FromMinutes(Convert.ToInt32(item.TimeToLive)); var protectedValue = _protector.Protect(item.Value, lifespan); _context.SecretItems.Add(new SecretItem { Value = protectedValue, Token = token, ExpiredBy = DateTime.Now + lifespan }); _context.SaveChanges(); var link = $"https://{this.Request.Host}/api/secret/" + token; return(Ok(link)); }
public bool Load(SecretItem secret) { var identity = secret.Identifier.Name .Replace("--", ConfigurationPath.KeyDelimiter) .Replace("-", "_"); return(identity.StartsWith(_prefix)); }
//todo better! // Battlecry: Take control of a random enemy Secret;. public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice) { if (own.own) { if (p.enemySecretList.Count >= 1) { if (p.enemyHeroName == HeroEnum.hunter) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_610); } if (p.enemyHeroName == HeroEnum.mage) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_594); } if (p.enemyHeroName == HeroEnum.pala) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130); } if (p.enemyHeroName != HeroEnum.hunter && p.enemyHeroName != HeroEnum.mage && p.enemyHeroName != HeroEnum.pala) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130); } p.enemySecretList.RemoveAt(0); } } else { if (p.ownSecretsIDList.Count >= 1) { p.ownSecretsIDList.RemoveAt(0); SecretItem s = new SecretItem { canBe_avenge = false, canBe_counterspell = false, canBe_duplicate = false, canBe_explosive = true, canBe_eyeforaneye = false, canBe_freezing = false, canBe_icebarrier = false, canBe_iceblock = false, canBe_mirrorentity = false, canBe_missdirection = false, canBe_noblesacrifice = false, canBe_redemption = false, canBe_repentance = false, canBe_snaketrap = false, canBe_snipe = false, canBe_spellbender = false, canBe_vaporize = false, entityId = 1050 }; p.enemySecretList.Add(s); } } }
private async Task <ScriptSecrets> ReadHostSecrets() { IPage <SecretItem> secretItems = await _keyVaultClient.Value.GetSecretsAsync(GetVaultBaseUrl()); List <Task <SecretBundle> > tasks = new List <Task <SecretBundle> >(); // Add master key task SecretItem masterItem = secretItems.FirstOrDefault(x => x.Identifier.Name.StartsWith(MasterKey)); if (masterItem != null) { tasks.Add(_keyVaultClient.Value.GetSecretAsync(GetVaultBaseUrl(), masterItem.Identifier.Name)); } else { return(null); } // Add functionKey tasks foreach (SecretItem item in secretItems.Where(x => x.Identifier.Name.StartsWith(FunctionKeyPrefix))) { tasks.Add(_keyVaultClient.Value.GetSecretAsync(GetVaultBaseUrl(), item.Identifier.Name)); } // Add systemKey tasks foreach (SecretItem item in secretItems.Where(x => x.Identifier.Name.StartsWith(SystemKeyPrefix))) { tasks.Add(_keyVaultClient.Value.GetSecretAsync(GetVaultBaseUrl(), item.Identifier.Name)); } await Task.WhenAll(tasks); HostSecrets hostSecrets = new HostSecrets() { FunctionKeys = new List <Key>(), SystemKeys = new List <Key>() }; foreach (Task <SecretBundle> task in tasks) { SecretBundle item = task.Result; if (item.SecretIdentifier.Name.StartsWith(MasterKey)) { hostSecrets.MasterKey = SecretBundleToKey(item, MasterKey); } else if (item.SecretIdentifier.Name.StartsWith(FunctionKeyPrefix)) { hostSecrets.FunctionKeys.Add(SecretBundleToKey(item, FunctionKeyPrefix)); } else if (item.SecretIdentifier.Name.StartsWith(SystemKeyPrefix)) { hostSecrets.SystemKeys.Add(SecretBundleToKey(item, SystemKeyPrefix)); } } return(hostSecrets); }
///GENMHASH:D2EF373C3F52CF849FAB0427BA0BEC94:0236CC4148BAFE5FDA58A7525428A25F private ISecret WrapModel(SecretItem inner) { if (inner == null) { return(null); } string serialized = Rest.Serialization.SafeJsonConvert.SerializeObject(inner, vault.Manager.Inner.SerializationSettings); return(WrapModel(Rest.Serialization.SafeJsonConvert.DeserializeObject <SecretBundle>(serialized, vault.Manager.Inner.SerializationSettings))); }
public bool Load(SecretItem secret) { if (!string.IsNullOrWhiteSpace(this.options.Prefix)) { return(secret.Identifier.Name.StartsWith(this.options.Prefix, StringComparison.OrdinalIgnoreCase)); } if (!this.options.Prefixes.Any()) { return(true); } return(this.options.Prefixes.Any(prefix => secret.Identifier.Name.StartsWith(prefix, StringComparison.OrdinalIgnoreCase))); }
private static void Output(SecretItem item) { var id = item.Identifier; Console.WriteLine($"secret item: {id}"); Console.WriteLine($"name: {id.Name}"); Console.WriteLine($"version: {id.Version}"); var attrs = item.Attributes; Console.WriteLine($"enabled: {attrs.Enabled}"); Console.WriteLine($"created: {attrs.Created}"); Console.WriteLine($"updated: {attrs.Updated}"); Console.WriteLine($"expires: {attrs.Expires}"); }
public bool Load(SecretItem secret) { // Load a vault secret when its secret name starts with the // prefix. Other secrets won't be loaded. var secretName = secret.Identifier.Name; var envIndex = secretName.IndexOf("--"); if (envIndex > -1) { var env = secretName.Substring(0, envIndex); return(!AzureVaultKeyBuilder.Enviroments.ContainsValue(env)); } return(true); }
//[x]After you use your HeroPower, cast a <b>Secret</b>from your deck. //在你使用你的英雄技能后,从你的牌库中施放一个<b>奥秘</b>。 public override void onInspire(Playfield p, Minion m, bool ownerOfInspire) { if (m.own) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_554); } else { if (p.enemySecretCount <= 4) { p.enemySecretCount++; SecretItem si = Probabilitymaker.Instance.getNewSecretGuessedItem(p.getNextEntity(), p.ownHeroStartClass); if (Settings.Instance.useSecretsPlayAround) { p.enemySecretList.Add(si); } } } }
//Battlecry: Put one of each Secret from your deck into the battlefield public override void getBattlecryEffect(Playfield p, Minion own, Minion target, int choice) { //if(p.isServer) //TODO if (own.own) { if (p.ownHeroName == HeroEnum.mage) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_289); } if (p.ownHeroName == HeroEnum.hunter) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_554); } if (p.ownHeroName == HeroEnum.pala) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130); //noble sac p.ownSecretsIDList.Add(CardDB.cardIDEnum.FP1_020); //avenge } } else { if (p.enemyHeroName == HeroEnum.mage || p.enemyHeroName == HeroEnum.hunter || p.enemyHeroName == HeroEnum.pala) { if (p.enemySecretCount <= 4) { p.enemySecretCount++; SecretItem si = Probabilitymaker.Instance.getNewSecretGuessedItem(p.getNextEntity(), p.enemyHeroName); if (p.enemyHeroName == HeroEnum.pala) { si.canBe_redemption = false; } if (Settings.Instance.useSecretsPlayArround) { p.enemySecretList.Add(si); } } } } }
//<deDE>Todesröcheln: Legt ein Geheimnis aus Eurem Deck auf das Schlachtfeld. public override void onDeathrattle(Playfield p, Minion m) { //if(p.isServer) if (m.own) { if (p.ownHeroName == HeroEnum.mage) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_289); } if (p.ownHeroName == HeroEnum.hunter) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_554); } if (p.ownHeroName == HeroEnum.pala) { p.ownSecretsIDList.Add(CardDB.cardIDEnum.EX1_130); } } else { if (p.enemyHeroName == HeroEnum.mage || p.enemyHeroName == HeroEnum.hunter || p.enemyHeroName == HeroEnum.pala) { if (p.enemySecretCount <= 4) { p.enemySecretCount++; SecretItem si = Probabilitymaker.Instance.getNewSecretGuessedItem(p.getNextEntity(), p.enemyHeroName); if (p.enemyHeroName == HeroEnum.pala) { si.canBe_redemption = false; } if (Settings.Instance.useSecretsPlayArround) { p.enemySecretList.Add(si); } } } } }
// Deathrattle: Put a Secret: from your deck into the battlefield. public override void onDeathrattle(Playfield p, Minion m) { if (m.own) { if (p.ownHeroStartClass == TAG_CLASS.MAGE) { p.ownSecretsIDList.Add(CardIdEnum.EX1_289); } if (p.ownHeroStartClass == TAG_CLASS.HUNTER) { p.ownSecretsIDList.Add(CardIdEnum.EX1_554); } if (p.ownHeroStartClass == TAG_CLASS.PALADIN) { p.ownSecretsIDList.Add(CardIdEnum.EX1_130); } } else { if (p.enemyHeroStartClass == TAG_CLASS.MAGE || p.enemyHeroStartClass == TAG_CLASS.HUNTER || p.enemyHeroStartClass == TAG_CLASS.PALADIN) { if (p.enemySecretCount <= 4) { p.enemySecretCount++; SecretItem si = Probabilitymaker.Instance.getNewSecretGuessedItem(p.getNextEntity(), p.ownHeroStartClass); if (p.enemyHeroStartClass == TAG_CLASS.PALADIN) { si.canBe_redemption = false; } if (Settings.Instance.useSecretsPlayAround) { p.enemySecretList.Add(si); } } } } }
public ListViewItemSecret(ISession session, SecretItem si) : this(session, si.Identifier, si.Attributes, si.ContentType, si.Tags) { }
public bool Load(SecretItem secret) { return(secret.Identifier.Name.StartsWith(this._prefix)); }
public bool Load(SecretItem secret) { // Load a vault secret when its secret name starts with the // prefix. Other secrets won't be loaded. return(secret.Identifier.Name.StartsWith(_prefix)); }
public override bool Load(SecretItem secret) { return(HasEnvironmentPrefix(secret.Identifier.Name)); }
/// <inheritdoc /> public virtual bool Load(SecretItem secret) { return(true); }
private static bool IsSecretActive(SecretItem theSecret) { return((theSecret.Attributes.Enabled == null || theSecret.Attributes.Enabled == true) && (theSecret.Attributes.NotBefore == null || theSecret.Attributes.NotBefore < DateTime.UtcNow) && (theSecret.Attributes.Expires == null || theSecret.Attributes.Expires > DateTime.UtcNow)); }
public bool Load(SecretItem secret) { return(secret.Identifier.Name.StartsWith("sqlconn")); }
public override bool Load(SecretItem secret) { return(secret.Identifier.Name.EndsWith("1")); }
private static BlobId ToBlobId(SecretItem item) { int idx = item.Id.LastIndexOf('/'); return(new BlobId(item.Id.Substring(idx + 1), BlobItemKind.File)); }
public bool Load(SecretItem secret) => true;
public SecretVersion(int index, SecretItem secretItem) : base(index, secretItem.Attributes.Created, secretItem.Attributes.Updated, Microsoft.Vault.Library.Utils.GetChangedBy(secretItem.Tags), secretItem.Identifier) { SecretItem = secretItem; }
public bool Load(SecretItem secret) { return(true); }
/// <inheritdoc /> public override bool Load(SecretItem secret) { return(secret.Attributes.Enabled ?? false); }
/// <inheritdoc /> public bool Load(SecretItem secret) { return(secret.Identifier.Name.StartsWith(_prefix, StringComparison.Ordinal)); }
public bool Load(SecretItem secret) { // Load a vault secret when its secret name starts with the // prefix. Other secrets won't be loaded. return(secret.Identifier.Name.StartsWith(this.prefix, System.StringComparison.OrdinalIgnoreCase)); }
bool IKeyVaultSecretManager.Load(SecretItem secret) { return(secret.Identifier.Name.StartsWith(AppNamePrefix)); }