MqvPublicParameters.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters
  5. {
  6. public class MqvPublicParameters
  7. : ICipherParameters
  8. {
  9. private readonly ECPublicKeyParameters staticPublicKey;
  10. private readonly ECPublicKeyParameters ephemeralPublicKey;
  11. public MqvPublicParameters(
  12. ECPublicKeyParameters staticPublicKey,
  13. ECPublicKeyParameters ephemeralPublicKey)
  14. {
  15. if (staticPublicKey == null)
  16. throw new ArgumentNullException("staticPublicKey");
  17. if (ephemeralPublicKey == null)
  18. throw new ArgumentNullException("ephemeralPublicKey");
  19. if (!staticPublicKey.Parameters.Equals(ephemeralPublicKey.Parameters))
  20. throw new ArgumentException("Static and ephemeral public keys have different domain parameters");
  21. this.staticPublicKey = staticPublicKey;
  22. this.ephemeralPublicKey = ephemeralPublicKey;
  23. }
  24. public virtual ECPublicKeyParameters StaticPublicKey
  25. {
  26. get { return staticPublicKey; }
  27. }
  28. public virtual ECPublicKeyParameters EphemeralPublicKey
  29. {
  30. get { return ephemeralPublicKey; }
  31. }
  32. }
  33. }
  34. #pragma warning restore
  35. #endif