public bool Authenticate(ServiceSecurityContext context, byte[] message) { Claim claim = null; if (context == null) { return(authenticationMode == PeerAuthenticationMode.None); } if (authenticationMode == PeerAuthenticationMode.Password) { if (!(context != null)) { throw Fx.AssertAndThrow("No SecurityContext attached in security mode!"); } claim = FindClaim(context); return(PeerSecurityHelpers.Authenticate(claim, this.credManager.Password, message)); } else { if (message != null) { PeerExceptionHelper.ThrowInvalidOperation_UnexpectedSecurityTokensDuringHandshake(); } return(true); } }
public PeerHashToken(X509Certificate2 certificate, string password) { this.id = SecurityUniqueId.Create().Value; this.effectiveTime = DateTime.UtcNow; this.expirationTime = DateTime.UtcNow.AddHours(10.0); this.authenticator = PeerSecurityHelpers.ComputeHash(certificate, password); this.CheckValidity(); }
public bool Validate(Claim claim, string password) { if (this.authenticator == null) { throw Fx.AssertAndThrow("Incorrect initialization"); } return(PeerSecurityHelpers.Authenticate(claim, password, this.authenticator)); }
public byte[] GetAuthenticator() { if (authenticationMode != PeerAuthenticationMode.Password) { return(null); } if (authenticatorHash == null) { lock (ThisLock) { if (authenticatorHash == null) { authenticatorHash = PeerSecurityHelpers.ComputeHash(credManager.Certificate, credManager.Password); } } } return(authenticatorHash); }
public PeerHashToken(Claim claim, string password) { this.authenticator = PeerSecurityHelpers.ComputeHash(claim, password); CheckValidity(); }
public PeerHashToken(X509Certificate2 certificate, string password) { this.authenticator = PeerSecurityHelpers.ComputeHash(certificate, password); CheckValidity(); }