ElGamalParameter.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
  5. namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Oiw
  6. {
  7. public class ElGamalParameter
  8. : Asn1Encodable
  9. {
  10. internal DerInteger p, g;
  11. public ElGamalParameter(
  12. BigInteger p,
  13. BigInteger g)
  14. {
  15. this.p = new DerInteger(p);
  16. this.g = new DerInteger(g);
  17. }
  18. public ElGamalParameter(
  19. Asn1Sequence seq)
  20. {
  21. if (seq.Count != 2)
  22. throw new ArgumentException("Wrong number of elements in sequence", "seq");
  23. p = DerInteger.GetInstance(seq[0]);
  24. g = DerInteger.GetInstance(seq[1]);
  25. }
  26. public BigInteger P
  27. {
  28. get { return p.PositiveValue; }
  29. }
  30. public BigInteger G
  31. {
  32. get { return g.PositiveValue; }
  33. }
  34. public override Asn1Object ToAsn1Object()
  35. {
  36. return new DerSequence(p, g);
  37. }
  38. }
  39. }
  40. #pragma warning restore
  41. #endif