#pragma once #include "types.h" #include "KeyBag.h" #include #include namespace nstool { class PkiCertProcess { public: PkiCertProcess(); void process(); void setInputFile(const std::shared_ptr& file); void setKeyCfg(const KeyBag& keycfg); void setCliOutputMode(CliOutputMode type); void setVerifyMode(bool verify); private: const std::string kModuleName = "PkiCertProcess"; static const size_t kSmallHexDumpLen = 0x10; std::shared_ptr mFile; KeyBag mKeyCfg; CliOutputMode mCliOutputMode; bool mVerify; std::vector> mCert; void importCerts(); void validateCerts(); void displayCerts(); void displayCert(const nn::pki::SignedData& cert); size_t getHexDumpLen(size_t max_size) const; const char* getSignTypeStr(nn::pki::sign::SignatureId type) const; const char* getEndiannessStr(bool isLittleEndian) const; const char* getPublicKeyTypeStr(nn::pki::cert::PublicKeyType type) const; }; }