IssuerAndSerialNumber.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1;
  5. using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
  6. using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
  7. namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms
  8. {
  9. public class IssuerAndSerialNumber
  10. : Asn1Encodable
  11. {
  12. private X509Name name;
  13. private DerInteger serialNumber;
  14. public static IssuerAndSerialNumber GetInstance(object obj)
  15. {
  16. if (obj == null)
  17. return null;
  18. IssuerAndSerialNumber existing = obj as IssuerAndSerialNumber;
  19. if (existing != null)
  20. return existing;
  21. return new IssuerAndSerialNumber(Asn1Sequence.GetInstance(obj));
  22. }
  23. [Obsolete("Use GetInstance() instead")]
  24. public IssuerAndSerialNumber(
  25. Asn1Sequence seq)
  26. {
  27. this.name = X509Name.GetInstance(seq[0]);
  28. this.serialNumber = (DerInteger) seq[1];
  29. }
  30. public IssuerAndSerialNumber(
  31. X509Name name,
  32. BigInteger serialNumber)
  33. {
  34. this.name = name;
  35. this.serialNumber = new DerInteger(serialNumber);
  36. }
  37. public IssuerAndSerialNumber(
  38. X509Name name,
  39. DerInteger serialNumber)
  40. {
  41. this.name = name;
  42. this.serialNumber = serialNumber;
  43. }
  44. public X509Name Name
  45. {
  46. get { return name; }
  47. }
  48. public DerInteger SerialNumber
  49. {
  50. get { return serialNumber; }
  51. }
  52. public override Asn1Object ToAsn1Object()
  53. {
  54. return new DerSequence(name, serialNumber);
  55. }
  56. }
  57. }
  58. #pragma warning restore
  59. #endif