CAKeyUpdAnnContent.cs 1.8 KB

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