gdcmCryptographicMessageSyntax.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef __gdcmCryptographicMessageSyntax_h
00016 #define __gdcmCryptographicMessageSyntax_h
00017
00018 #include "gdcmTypes.h"
00019
00020 namespace gdcm
00021 {
00022 class CryptographicMessageSyntaxInternals;
00023
00024
00034 class GDCM_EXPORT CryptographicMessageSyntax
00035 {
00036 public :
00037 CryptographicMessageSyntax();
00038 ~CryptographicMessageSyntax();
00039
00040
00041 bool ParseCertificateFile( const char *filename );
00042 bool ParseKeyFile( const char *filename );
00043
00044 typedef enum {
00045 DES_CIPHER,
00046 DES3_CIPHER,
00047 AES128_CIPHER,
00048 AES192_CIPHER,
00049 AES256_CIPHER
00050 } CipherTypes;
00051
00052 void SetCipherType( CipherTypes type);
00053 CipherTypes GetCipherType() const;
00054
00055 bool Encrypt(char *output, size_t &outlen, const char *array, size_t len) const;
00056 bool Decrypt(char *output, size_t &outlen, const char *array, size_t len) const;
00057
00058 private:
00059 CryptographicMessageSyntaxInternals *Internals;
00060 private:
00061 CryptographicMessageSyntax(const CryptographicMessageSyntax&);
00062 void operator=(const CryptographicMessageSyntax&);
00063 };
00064 }
00065
00066 #endif //__gdcmCryptographicMessageSyntax_h