CAKeyUpdAnnContent.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
  5. namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cmp
  6. {
  7. public class CAKeyUpdAnnContent
  8. : Asn1Encodable
  9. {
  10. private readonly CmpCertificate oldWithNew;
  11. private readonly CmpCertificate newWithOld;
  12. private readonly CmpCertificate newWithNew;
  13. private CAKeyUpdAnnContent(Asn1Sequence seq)
  14. {
  15. oldWithNew = CmpCertificate.GetInstance(seq[0]);
  16. newWithOld = CmpCertificate.GetInstance(seq[1]);
  17. newWithNew = CmpCertificate.GetInstance(seq[2]);
  18. }
  19. public static CAKeyUpdAnnContent GetInstance(object obj)
  20. {
  21. if (obj is CAKeyUpdAnnContent)
  22. return (CAKeyUpdAnnContent)obj;
  23. if (obj is Asn1Sequence)
  24. return new CAKeyUpdAnnContent((Asn1Sequence)obj);
  25. throw new ArgumentException("Invalid object: " + BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Platform.GetTypeName(obj), "obj");
  26. }
  27. public virtual CmpCertificate OldWithNew
  28. {
  29. get { return oldWithNew; }
  30. }
  31. public virtual CmpCertificate NewWithOld
  32. {
  33. get { return newWithOld; }
  34. }
  35. public virtual CmpCertificate NewWithNew
  36. {
  37. get { return newWithNew; }
  38. }
  39. /**
  40. * <pre>
  41. * CAKeyUpdAnnContent ::= SEQUENCE {
  42. * oldWithNew CmpCertificate, -- old pub signed with new priv
  43. * newWithOld CmpCertificate, -- new pub signed with old priv
  44. * newWithNew CmpCertificate -- new pub signed with new priv
  45. * }
  46. * </pre>
  47. * @return a basic ASN.1 object representation.
  48. */
  49. public override Asn1Object ToAsn1Object()
  50. {
  51. return new DerSequence(oldWithNew, newWithOld, newWithNew);
  52. }
  53. }
  54. }
  55. #pragma warning restore
  56. #endif