public async Task JsonWebTokenWithX509PublicCertSendCertificateOnBehalfOfTestAsync() { using (var httpManager = new MockHttpManager()) { var serviceBundle = ServiceBundle.CreateWithCustomHttpManager(httpManager); SetupMocks(httpManager); var certificate = new X509Certificate2( ResourceHelper.GetTestResourceRelativePath("valid_cert.pfx"), MsalTestConstants.DefaultPassword); var clientAssertion = new ClientAssertionCertificate(certificate); var clientCredential = new ClientCredential(clientAssertion); var app = new ConfidentialClientApplication( serviceBundle, MsalTestConstants.ClientId, ClientApplicationBase.DefaultAuthority, MsalTestConstants.RedirectUri, clientCredential, _cache, _cache) { ValidateAuthority = false }; var userAssertion = new UserAssertion(MsalTestConstants.DefaultAccessToken); //Check for x5c claim httpManager.AddMockHandler(X5CMockHandler); AuthenticationResult result = await(app as IConfidentialClientApplicationWithCertificate).AcquireTokenOnBehalfOfWithCertificateAsync( MsalTestConstants.Scope, userAssertion).ConfigureAwait(false); Assert.IsNotNull(result.AccessToken); result = await app.AcquireTokenOnBehalfOfAsync(MsalTestConstants.Scope, userAssertion).ConfigureAwait(false); Assert.IsNotNull(result.AccessToken); } }