/* * Algorithm Identifier * (C) 1999-2007 Jack Lloyd * * Distributed under the terms of the Botan license */ #ifndef BOTAN_ALGORITHM_IDENTIFIER_H__ #define BOTAN_ALGORITHM_IDENTIFIER_H__ #include #include #include namespace Botan { /* * Algorithm Identifier */ class BOTAN_DLL AlgorithmIdentifier : public ASN1_Object { public: enum Encoding_Option { USE_NULL_PARAM }; void encode_into(class DER_Encoder&) const; void decode_from(class BER_Decoder&); AlgorithmIdentifier() {} AlgorithmIdentifier(const OID&, Encoding_Option); AlgorithmIdentifier(const std::string&, Encoding_Option); AlgorithmIdentifier(const OID&, const MemoryRegion&); AlgorithmIdentifier(const std::string&, const MemoryRegion&); OID oid; SecureVector parameters; }; /* * Comparison Operations */ bool BOTAN_DLL operator==(const AlgorithmIdentifier&, const AlgorithmIdentifier&); bool BOTAN_DLL operator!=(const AlgorithmIdentifier&, const AlgorithmIdentifier&); } #endif