public SslStreamSecurityUpgradeInitiator(SslStreamSecurityUpgradeProvider parent, EndpointAddress remoteAddress, Uri via) : base("application/ssl-tls", remoteAddress, via) { SecurityTokenResolver resolver; this.parent = parent; InitiatorServiceModelSecurityTokenRequirement tokenRequirement = new InitiatorServiceModelSecurityTokenRequirement { TokenType = SecurityTokenTypes.X509Certificate, RequireCryptographicToken = true, KeyUsage = SecurityKeyUsage.Exchange, TargetAddress = remoteAddress, Via = via, TransportScheme = this.parent.Scheme }; this.serverCertificateAuthenticator = parent.ClientSecurityTokenManager.CreateSecurityTokenAuthenticator(tokenRequirement, out resolver); if (parent.RequireClientCertificate) { InitiatorServiceModelSecurityTokenRequirement requirement2 = new InitiatorServiceModelSecurityTokenRequirement { TokenType = SecurityTokenTypes.X509Certificate, RequireCryptographicToken = true, KeyUsage = SecurityKeyUsage.Signature, TargetAddress = remoteAddress, Via = via, TransportScheme = this.parent.Scheme }; this.clientCertificateProvider = parent.ClientSecurityTokenManager.CreateSecurityTokenProvider(requirement2); if (this.clientCertificateProvider == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(System.ServiceModel.SR.GetString("ClientCredentialsUnableToCreateLocalTokenProvider", new object[] { requirement2 }))); } } }
public OpenAsyncResult(SslStreamSecurityUpgradeProvider parent, TimeSpan timeout, AsyncCallback callback, object state) : base(callback, state) { this.parent = parent; this.timeoutHelper = new TimeoutHelper(timeout); this.onOpenTokenAuthenticator = Fx.ThunkCallback(new AsyncCallback(this.OnOpenTokenAuthenticator)); IAsyncResult result = System.ServiceModel.Security.SecurityUtils.BeginOpenTokenAuthenticatorIfRequired(parent.ClientCertificateAuthenticator, this.timeoutHelper.RemainingTime(), this.onOpenTokenAuthenticator, this); if (result.CompletedSynchronously && this.HandleOpenAuthenticatorComplete(result)) { base.Complete(true); } }
public SslStreamSecurityUpgradeInitiator(SslStreamSecurityUpgradeProvider parent, EndpointAddress remoteAddress, Uri via) : base(FramingUpgradeString.SslOrTls, remoteAddress, via) { _parent = parent; InitiatorServiceModelSecurityTokenRequirement serverCertRequirement = new InitiatorServiceModelSecurityTokenRequirement(); serverCertRequirement.TokenType = SecurityTokenTypes.X509Certificate; serverCertRequirement.RequireCryptographicToken = true; serverCertRequirement.KeyUsage = SecurityKeyUsage.Exchange; serverCertRequirement.TargetAddress = remoteAddress; serverCertRequirement.Via = via; serverCertRequirement.TransportScheme = _parent.Scheme; serverCertRequirement.PreferSslCertificateAuthenticator = true; SecurityTokenResolver dummy; _serverCertificateAuthenticator = (parent.ClientSecurityTokenManager.CreateSecurityTokenAuthenticator(serverCertRequirement, out dummy)); if (parent.RequireClientCertificate) { InitiatorServiceModelSecurityTokenRequirement clientCertRequirement = new InitiatorServiceModelSecurityTokenRequirement(); clientCertRequirement.TokenType = SecurityTokenTypes.X509Certificate; clientCertRequirement.RequireCryptographicToken = true; clientCertRequirement.KeyUsage = SecurityKeyUsage.Signature; clientCertRequirement.TargetAddress = remoteAddress; clientCertRequirement.Via = via; clientCertRequirement.TransportScheme = _parent.Scheme; _clientCertificateProvider = parent.ClientSecurityTokenManager.CreateSecurityTokenProvider(clientCertRequirement); if (_clientCertificateProvider == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.Format(SR.ClientCredentialsUnableToCreateLocalTokenProvider, clientCertRequirement))); } } }
public override StreamUpgradeProvider BuildClientStreamUpgradeProvider(BindingContext context) { return(SslStreamSecurityUpgradeProvider.CreateClientProvider(this, context)); }
public SslStreamSecurityUpgradeAcceptor(SslStreamSecurityUpgradeProvider parent) : base(FramingUpgradeString.SslOrTls) { _parent = parent; _clientSecurity = new SecurityMessageProperty(); }
public SslStreamSecurityUpgradeAcceptor(SslStreamSecurityUpgradeProvider parent) : base("application/ssl-tls") { this.parent = parent; this.clientSecurity = new SecurityMessageProperty(); }
public SslStreamSecurityUpgradeAcceptor(SslStreamSecurityUpgradeProvider source) { this.source = source; }
public SslStreamSecurityUpgradeAcceptor (SslStreamSecurityUpgradeProvider source) { this.source = source; }