/* * Copyright (c) 2010-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once #include #include #include namespace Swift { class SWIFTEN_API SimpleCertificate : public Certificate { public: typedef boost::shared_ptr ref; void setSubjectName(const std::string& name) { subjectName = name; } std::string getSubjectName() const { return subjectName; } std::vector getCommonNames() const { return commonNames; } void addCommonName(const std::string& name) { commonNames.push_back(name); } void addSRVName(const std::string& name) { srvNames.push_back(name); } void addDNSName(const std::string& name) { dnsNames.push_back(name); } void addXMPPAddress(const std::string& addr) { xmppAddresses.push_back(addr); } std::vector getSRVNames() const { return srvNames; } std::vector getDNSNames() const { return dnsNames; } std::vector getXMPPAddresses() const { return xmppAddresses; } ByteArray toDER() const { return der; } void setDER(const ByteArray& der) { this->der = der; } private: void parse(); private: std::string subjectName; ByteArray der; std::vector commonNames; std::vector dnsNames; std::vector xmppAddresses; std::vector srvNames; }; }