Viewing file: gdcmCryptographicMessageSyntax.h (1.76 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*=========================================================================
Program: GDCM (Grassroots DICOM). A DICOM library
Copyright (c) 2006-2011 Mathieu Malaterre All rights reserved. See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notice for more information.
=========================================================================*/ #ifndef GDCMCRYPTOGRAPHICMESSAGESYNTAX_H #define GDCMCRYPTOGRAPHICMESSAGESYNTAX_H
#include "gdcmTypes.h"
namespace gdcm {
class GDCM_EXPORT CryptographicMessageSyntax { public: CryptographicMessageSyntax() = default;
virtual ~CryptographicMessageSyntax() = default; CryptographicMessageSyntax(const CryptographicMessageSyntax&) = delete; void operator=(const CryptographicMessageSyntax&) = delete;
typedef enum { DES3_CIPHER, // Triple DES AES128_CIPHER, // CBC AES AES192_CIPHER, // ' ' AES256_CIPHER // ' ' } CipherTypes;
// X.509 virtual bool ParseCertificateFile( const char *filename ) = 0; virtual bool ParseKeyFile( const char *filename ) = 0;
// PBE virtual bool SetPassword(const char * pass, size_t passLen) = 0;
/// create a CMS envelopedData structure virtual bool Encrypt(char *output, size_t &outlen, const char *array, size_t len) const = 0; /// decrypt content from a CMS envelopedData structure virtual bool Decrypt(char *output, size_t &outlen, const char *array, size_t len) const = 0;
virtual void SetCipherType(CipherTypes type) = 0;
virtual CipherTypes GetCipherType() const = 0; };
} // end namespace gdcm
#endif //GDCMCRYPTOGRAPHICMESSAGESYNTAX_H
|