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. public IssuerAndSerialNumber(
  24. Asn1Sequence seq)
  25. {
  26. this.name = X509Name.GetInstance(seq[0]);
  27. this.serialNumber = (DerInteger) seq[1];
  28. }
  29. public IssuerAndSerialNumber(
  30. X509Name name,
  31. BigInteger serialNumber)
  32. {
  33. this.name = name;
  34. this.serialNumber = new DerInteger(serialNumber);
  35. }
  36. public IssuerAndSerialNumber(
  37. X509Name name,
  38. DerInteger serialNumber)
  39. {
  40. this.name = name;
  41. this.serialNumber = serialNumber;
  42. }
  43. public X509Name Name
  44. {
  45. get { return name; }
  46. }
  47. public DerInteger SerialNumber
  48. {
  49. get { return serialNumber; }
  50. }
  51. public override Asn1Object ToAsn1Object()
  52. {
  53. return new DerSequence(name, serialNumber);
  54. }
  55. }
  56. }
  57. #pragma warning restore
  58. #endif