internal TlsSrpKeyExchange(TlsClientContext context, KeyExchangeAlgorithm keyExchange, byte[] identity, byte[] password) { switch (keyExchange) { case KeyExchangeAlgorithm.SRP: this.tlsSigner = null; break; case KeyExchangeAlgorithm.SRP_RSA: this.tlsSigner = new TlsRsaSigner(); break; case KeyExchangeAlgorithm.SRP_DSS: this.tlsSigner = new TlsDssSigner(); break; default: throw new ArgumentException("unsupported key exchange algorithm", "keyExchange"); } this.context = context; this.keyExchange = keyExchange; this.identity = identity; this.password = password; }
internal TlsPskKeyExchange(TlsClientContext context, KeyExchangeAlgorithm keyExchange, TlsPskIdentity pskIdentity) { switch (keyExchange) { case KeyExchangeAlgorithm.PSK: case KeyExchangeAlgorithm.RSA_PSK: case KeyExchangeAlgorithm.DHE_PSK: break; default: throw new ArgumentException("unsupported key exchange algorithm", "keyExchange"); } this.context = context; this.keyExchange = keyExchange; this.pskIdentity = pskIdentity; }
internal TlsDHKeyExchange(TlsClientContext context, KeyExchangeAlgorithm keyExchange) { switch (keyExchange) { case KeyExchangeAlgorithm.DH_RSA: case KeyExchangeAlgorithm.DH_DSS: this.tlsSigner = null; break; case KeyExchangeAlgorithm.DHE_RSA: this.tlsSigner = new TlsRsaSigner(); break; case KeyExchangeAlgorithm.DHE_DSS: this.tlsSigner = new TlsDssSigner(); break; default: throw new ArgumentException("unsupported key exchange algorithm", "keyExchange"); } this.context = context; this.keyExchange = keyExchange; }
internal TlsECDHKeyExchange(TlsClientContext context, KeyExchangeAlgorithm keyExchange) { switch (keyExchange) { case KeyExchangeAlgorithm.ECDHE_RSA: this.tlsSigner = new TlsRsaSigner(); break; case KeyExchangeAlgorithm.ECDHE_ECDSA: this.tlsSigner = new TlsECDsaSigner(); break; case KeyExchangeAlgorithm.ECDH_RSA: case KeyExchangeAlgorithm.ECDH_ECDSA: this.tlsSigner = null; break; default: throw new ArgumentException("unsupported key exchange algorithm", "keyExchange"); } this.context = context; this.keyExchange = keyExchange; }
internal TlsDheKeyExchange(TlsClientContext context, KeyExchangeAlgorithm keyExchange) : base(context, keyExchange) { }
protected virtual TlsKeyExchange CreateECDheKeyExchange(KeyExchangeAlgorithm keyExchange) { return new TlsECDheKeyExchange(context, keyExchange); }
protected virtual TlsKeyExchange CreateECDheKeyExchange(KeyExchangeAlgorithm keyExchange) { return(new TlsECDheKeyExchange(context, keyExchange)); }
protected virtual TlsKeyExchange CreatePskKeyExchange(KeyExchangeAlgorithm keyExchange) { return new TlsPskKeyExchange(context, keyExchange, pskIdentity); }
protected virtual TlsKeyExchange CreateSrpKeyExchange(KeyExchangeAlgorithm keyExchange) { return new TlsSrpKeyExchange(context, keyExchange, identity, password); }
protected virtual TlsKeyExchange CreatePskKeyExchange(KeyExchangeAlgorithm keyExchange) { return(new TlsPskKeyExchange(context, keyExchange, pskIdentity)); }
protected virtual TlsKeyExchange CreateSrpKeyExchange(KeyExchangeAlgorithm keyExchange) { return(new TlsSrpKeyExchange(context, keyExchange, identity, password)); }