TlsKeyExchangeFactory.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. using System.IO;
  5. using BestHTTP.SecureProtocol.Org.BouncyCastle.Tls.Crypto;
  6. namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Tls
  7. {
  8. /// <summary>Interface for a key exchange factory offering a variety of specific algorithms.</summary>
  9. public interface TlsKeyExchangeFactory
  10. {
  11. /// <exception cref="IOException"/>
  12. TlsKeyExchange CreateDHKeyExchange(int keyExchange);
  13. /// <exception cref="IOException"/>
  14. TlsKeyExchange CreateDHanonKeyExchangeClient(int keyExchange, TlsDHGroupVerifier dhGroupVerifier);
  15. /// <exception cref="IOException"/>
  16. TlsKeyExchange CreateDHanonKeyExchangeServer(int keyExchange, TlsDHConfig dhConfig);
  17. /// <exception cref="IOException"/>
  18. TlsKeyExchange CreateDheKeyExchangeClient(int keyExchange, TlsDHGroupVerifier dhGroupVerifier);
  19. /// <exception cref="IOException"/>
  20. TlsKeyExchange CreateDheKeyExchangeServer(int keyExchange, TlsDHConfig dhConfig);
  21. /// <exception cref="IOException"/>
  22. TlsKeyExchange CreateECDHKeyExchange(int keyExchange);
  23. /// <exception cref="IOException"/>
  24. TlsKeyExchange CreateECDHanonKeyExchangeClient(int keyExchange);
  25. /// <exception cref="IOException"/>
  26. TlsKeyExchange CreateECDHanonKeyExchangeServer(int keyExchange, TlsECConfig ecConfig);
  27. /// <exception cref="IOException"/>
  28. TlsKeyExchange CreateECDheKeyExchangeClient(int keyExchange);
  29. /// <exception cref="IOException"/>
  30. TlsKeyExchange CreateECDheKeyExchangeServer(int keyExchange, TlsECConfig ecConfig);
  31. /// <exception cref="IOException"/>
  32. TlsKeyExchange CreatePskKeyExchangeClient(int keyExchange, TlsPskIdentity pskIdentity,
  33. TlsDHGroupVerifier dhGroupVerifier);
  34. /// <exception cref="IOException"/>
  35. TlsKeyExchange CreatePskKeyExchangeServer(int keyExchange, TlsPskIdentityManager pskIdentityManager,
  36. TlsDHConfig dhConfig, TlsECConfig ecConfig);
  37. /// <exception cref="IOException"/>
  38. TlsKeyExchange CreateRsaKeyExchange(int keyExchange);
  39. /// <exception cref="IOException"/>
  40. TlsKeyExchange CreateSrpKeyExchangeClient(int keyExchange, TlsSrpIdentity srpIdentity,
  41. TlsSrpConfigVerifier srpConfigVerifier);
  42. /// <exception cref="IOException"/>
  43. TlsKeyExchange CreateSrpKeyExchangeServer(int keyExchange, TlsSrpLoginParameters loginParameters);
  44. }
  45. }
  46. #pragma warning restore
  47. #endif