RevocationDetailsBuilder.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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.Cmp;
  6. using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Crmf;
  7. using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
  8. using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
  9. namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Cmp
  10. {
  11. public class RevocationDetailsBuilder
  12. {
  13. private readonly CertTemplateBuilder _templateBuilder = new CertTemplateBuilder();
  14. public RevocationDetailsBuilder SetPublicKey(SubjectPublicKeyInfo publicKey)
  15. {
  16. if (publicKey != null)
  17. {
  18. _templateBuilder.SetPublicKey(publicKey);
  19. }
  20. return this;
  21. }
  22. public RevocationDetailsBuilder SetIssuer(X509Name issuer)
  23. {
  24. if (issuer != null)
  25. {
  26. _templateBuilder.SetIssuer(issuer);
  27. }
  28. return this;
  29. }
  30. public RevocationDetailsBuilder SetSerialNumber(BigInteger serialNumber)
  31. {
  32. if (serialNumber != null)
  33. {
  34. _templateBuilder.SetSerialNumber(new DerInteger(serialNumber));
  35. }
  36. return this;
  37. }
  38. public RevocationDetailsBuilder SetSubject(X509Name subject)
  39. {
  40. if (subject != null)
  41. {
  42. _templateBuilder.SetSubject(subject);
  43. }
  44. return this;
  45. }
  46. public RevocationDetails Build()
  47. {
  48. return new RevocationDetails(new RevDetails(_templateBuilder.Build()));
  49. }
  50. }
  51. }
  52. #pragma warning restore
  53. #endif