public void CanStoreMultipleKeysIndependently() { const string appId = "myKeyTest"; string tenant1 = Guid.NewGuid().ToString(); string tenant2 = Guid.NewGuid().ToString(); const string pwd1 = "password one"; const string pwd2 = "second password"; using (SecureString ss = SecureStringFromString(pwd1)) { ServicePrincipalKeyStore.SaveKey(appId, tenant1, ss); } using (SecureString ss = SecureStringFromString(pwd2)) { ServicePrincipalKeyStore.SaveKey(appId, tenant2, ss); } try { using (SecureString ss = ServicePrincipalKeyStore.GetKey(appId, tenant1)) { Assert.Equal(pwd1, StringFromSecureString(ss)); } using (SecureString ss = ServicePrincipalKeyStore.GetKey(appId, tenant2)) { Assert.Equal(pwd2, StringFromSecureString(ss)); } } finally { ServicePrincipalKeyStore.DeleteKey(appId, tenant1); ServicePrincipalKeyStore.DeleteKey(appId, tenant2); } }
public void CanStoreAndRetrieveSingleKeyCorrectly() { const string appId = "myServiceKeyTest"; string tenantId = Guid.NewGuid().ToString(); const string password = "******"; using (SecureString secret = SecureStringFromString(password)) { ServicePrincipalKeyStore.SaveKey(appId, tenantId, secret); } try { string retrievedPassword; using (SecureString secret = ServicePrincipalKeyStore.GetKey(appId, tenantId)) { retrievedPassword = StringFromSecureString(secret); } Assert.Equal(password, retrievedPassword); } finally { ServicePrincipalKeyStore.DeleteKey(appId, tenantId); } }
public void RetrievingNonExistingKeyReturnsNull() { const string appId = "myKeyTest"; string tenantId = Guid.NewGuid().ToString(); SecureString ss = null; try { ss = ServicePrincipalKeyStore.GetKey(appId, tenantId); Assert.Null(ss); } finally { if (ss != null) { ss.Dispose(); } } }
public void DeletingKeyWorks() { const string appId = "myKeyTest"; string tenantId = Guid.NewGuid().ToString(); using (SecureString ss = SecureStringFromString("sekret")) { ServicePrincipalKeyStore.SaveKey(appId, tenantId, ss); } using (SecureString ss = ServicePrincipalKeyStore.GetKey(appId, tenantId)) { Assert.NotNull(ss); } ServicePrincipalKeyStore.DeleteKey(appId, tenantId); using (SecureString ss = ServicePrincipalKeyStore.GetKey(appId, tenantId)) { Assert.Null(ss); } }
private SecureString LoadAppKey(string appId, string tenantId) { return(ServicePrincipalKeyStore.GetKey(appId, tenantId)); }