OriginatorInfoGenerator.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. using System.Collections;
  5. using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1;
  6. using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms;
  7. using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
  8. using BestHTTP.SecureProtocol.Org.BouncyCastle.X509;
  9. using BestHTTP.SecureProtocol.Org.BouncyCastle.X509.Store;
  10. namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Cms
  11. {
  12. public class OriginatorInfoGenerator
  13. {
  14. private readonly IList origCerts;
  15. private readonly IList origCrls;
  16. public OriginatorInfoGenerator(X509Certificate origCert)
  17. {
  18. this.origCerts = BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Platform.CreateArrayList(1);
  19. this.origCrls = null;
  20. origCerts.Add(origCert.CertificateStructure);
  21. }
  22. public OriginatorInfoGenerator(IX509Store origCerts)
  23. : this(origCerts, null)
  24. {
  25. }
  26. public OriginatorInfoGenerator(IX509Store origCerts, IX509Store origCrls)
  27. {
  28. this.origCerts = CmsUtilities.GetCertificatesFromStore(origCerts);
  29. this.origCrls = origCrls == null ? null : CmsUtilities.GetCrlsFromStore(origCrls);
  30. }
  31. public virtual OriginatorInfo Generate()
  32. {
  33. Asn1Set certSet = CmsUtilities.CreateDerSetFromList(origCerts);
  34. Asn1Set crlSet = origCrls == null ? null : CmsUtilities.CreateDerSetFromList(origCrls);
  35. return new OriginatorInfo(certSet, crlSet);
  36. }
  37. }
  38. }
  39. #pragma warning restore
  40. #endif