MT5APICertificate.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. //+------------------------------------------------------------------+
  2. //| MetaTrader 5 API |
  3. //| Copyright 2000-2019, MetaQuotes Software Corp. |
  4. //| http://www.metaquotes.net |
  5. //+------------------------------------------------------------------+
  6. #pragma once
  7. //+------------------------------------------------------------------+
  8. //| SSL certificate interface |
  9. //+------------------------------------------------------------------+
  10. class IMTCertificate
  11. {
  12. public:
  13. //--- common methods
  14. virtual void Release(void)=0;
  15. virtual MTAPIRES Assign(const IMTCertificate *certificate)=0;
  16. virtual MTAPIRES Clear(void)=0;
  17. //--- certificate open/save/close/raw access
  18. virtual MTAPIRES Open(LPCWSTR filename)=0;
  19. virtual MTAPIRES OpenMemory(const void *data,const UINT size)=0;
  20. virtual MTAPIRES Save(LPCWSTR filename) const=0;
  21. virtual MTAPIRES Close(void)=0;
  22. virtual LPCVOID Raw(void) const=0;
  23. virtual UINT RawSize(void) const=0;
  24. virtual MTAPIRES CommonReserved1(void)=0;
  25. virtual MTAPIRES CommonReserved2(void)=0;
  26. virtual MTAPIRES CommonReserved3(void)=0;
  27. virtual MTAPIRES CommonReserved4(void)=0;
  28. virtual MTAPIRES CommonReserved5(void)=0;
  29. //--- certificate properties
  30. virtual bool IsOpened(void) const=0;
  31. virtual bool IsRoot(void) const=0;
  32. virtual bool IsCA(void) const=0;
  33. virtual bool IsEqual(const IMTCertificate *certificate)=0;
  34. virtual bool IsReserved1(void)=0;
  35. virtual bool IsReserved2(void)=0;
  36. virtual bool IsReserved3(void)=0;
  37. virtual bool IsReserved4(void)=0;
  38. virtual bool IsReserved5(void)=0;
  39. //--- certificate number and fields
  40. virtual UINT64 SerialNumber(void) const=0;
  41. virtual INT64 ValidFrom(void) const=0;
  42. virtual INT64 ValidTo(void) const=0;
  43. virtual MTAPIRES NameCommon(MTAPISTR& name) const=0;
  44. virtual MTAPIRES NameIssuer(MTAPISTR& name) const=0;
  45. virtual MTAPIRES NameOrganization(MTAPISTR& name) const=0;
  46. virtual MTAPIRES NameOrganizationUnit(MTAPISTR& name) const=0;
  47. virtual MTAPIRES NameGiven(MTAPISTR& name) const=0;
  48. virtual MTAPIRES NameReserved1(void) const=0;
  49. virtual MTAPIRES NameReserved2(void) const=0;
  50. virtual MTAPIRES NameReserved3(void) const=0;
  51. virtual MTAPIRES NameReserved4(void) const=0;
  52. virtual MTAPIRES NameReserved5(void) const=0;
  53. };
  54. //+------------------------------------------------------------------+