public override IDictionary GetClientExtensions() { IDictionary dictionary = TlsExtensionsUtilities.EnsureExtensionsInitialised(base.GetClientExtensions()); TlsSrpUtilities.AddSrpExtension(dictionary, mIdentity); return(dictionary); }
public override void GenerateClientKeyExchange(Stream output) { BigInteger x = mSrpClient.GenerateClientCredentials(mSrpSalt, mIdentity, mPassword); TlsSrpUtilities.WriteSrpParameter(x, output); mContext.SecurityParameters.srpIdentity = Arrays.Clone(mIdentity); }
public virtual void Encode(Stream output) { TlsSrpUtilities.WriteSrpParameter(m_N, output); TlsSrpUtilities.WriteSrpParameter(m_g, output); TlsUtilities.WriteOpaque8(m_s, output); TlsSrpUtilities.WriteSrpParameter(m_B, output); }
public static ServerSrpParams Parse(Stream input) { BigInteger n = TlsSrpUtilities.ReadSrpParameter(input); BigInteger g = TlsSrpUtilities.ReadSrpParameter(input); byte[] s = TlsUtilities.ReadOpaque8(input); BigInteger b = TlsSrpUtilities.ReadSrpParameter(input); return(new ServerSrpParams(n, g, s, b)); }
public override void ProcessClientKeyExchange(Stream input) { try { mSrpPeerCredentials = Srp6Utilities.ValidatePublicValue(mSrpGroup.N, TlsSrpUtilities.ReadSrpParameter(input)); } catch (CryptoException alertCause) { throw new TlsFatalAlert(47, alertCause); } mContext.SecurityParameters.srpIdentity = Arrays.Clone(mIdentity); }
public override int GetSelectedCipherSuite() { int selectedCipherSuite = base.GetSelectedCipherSuite(); if (TlsSrpUtilities.IsSrpCipherSuite(selectedCipherSuite)) { if (mSrpIdentity != null) { mLoginParameters = mSrpIdentityManager.GetLoginParameters(mSrpIdentity); } if (mLoginParameters == null) { throw new TlsFatalAlert(115); } } return(selectedCipherSuite); }
public override void ProcessClientExtensions(IDictionary clientExtensions) { base.ProcessClientExtensions(clientExtensions); mSrpIdentity = TlsSrpUtilities.GetSrpExtension(clientExtensions); }