public void GetThumbprintTest() { var thbpr = ThumbprintResolver.ResolveThumbprint("123", "https://stsbridge.cloudapp.net/federationmetadata/2007-06/federationmetadata.xml"); Assert.AreNotEqual("123", thbpr); Assert.AreEqual("E61E395A7C1AF3730E8AFBD256D913FD757E671E", thbpr); }
private static ConfigurationBasedIssuerNameRegistry CreateIssuerNameRegistry(Endpoint serviceInterface) { GetStsSettingsFromEnvironment(serviceInterface); var registry = new ConfigurationBasedIssuerNameRegistry(); registry.AddTrustedIssuer(ThumbprintResolver.ResolveThumbprint(serviceInterface.Thumbprint, serviceInterface.IssuerAddress), serviceInterface.IssuerAddress); return(registry); }
/// <summary> /// Call this method to set up the service as claims aware. /// </summary> /// <param name="config"></param> public static void Configure(ServiceConfiguration config) { var secureSettings = config.GetSecureSettingsForService(); var serviceRootUrl = config.GetServiceRootUrl(); if (secureSettings.IsNull()) { return; } TurnOfSslCertificateValidation(secureSettings); config.IdentityConfiguration = new IdentityConfiguration() { TrustedStoreLocation = new StoreLocation(), AudienceRestriction = { AudienceMode = AudienceUriMode.Always }, SaveBootstrapContext = true, IssuerTokenResolver = new IssuerTokenResolver(), CertificateValidationMode = secureSettings.CertificateValidationMode.ParseAsEnum(X509CertificateValidationMode.PeerTrust), }; config.IdentityConfiguration.AudienceRestriction.AllowedAudienceUris.Add(new Uri(string.Format(secureSettings.Audience, serviceRootUrl))); config.IdentityConfiguration.IssuerNameRegistry = CreateIssuerNameRegistry(secureSettings); config.UseIdentityConfiguration = true; ThumbprintResolver.RegisterServiceHost(config); }
private SecurityToken GetSecurityToken(IWSTrustChannelContract channel, RequestSecurityToken rst) { try { RequestSecurityTokenResponse rstr = null; var token = channel.Issue(rst, out rstr); return(token); } catch (Exception ex) { Logging.Exception(ex); Logging.DebugMessage(string.Format("Request: user={0}, stsAddress={1} thumbprint={2}", UserName, ServiceSettings.StsAddress, ThumbprintResolver.ResolveThumbprint(ServiceSettings.Thumbprint, ServiceSettings.IssuerAddress))); throw; } }