XrdCryptosslMsgDigest.hh

Go to the documentation of this file.
00001 // $Id: XrdCryptosslMsgDigest.hh 22437 2008-03-04 14:35:16Z rdm $
00002 #ifndef __CRYPTO_MSGDGSTSSL_H__
00003 #define __CRYPTO_MSGDGSTSSL_H__
00004 /******************************************************************************/
00005 /*                                                                            */
00006 /*             X r d C r y p t o S s l M s g D i g e s t . h h                */
00007 /*                                                                            */
00008 /* (c) 2004 by the Board of Trustees of the Leland Stanford, Jr., University  */
00009 /*       All Rights Reserved. See XrdInfo.cc for complete License Terms       */
00010 /*   Produced by Andrew Hanushevsky for Stanford University under contract    */
00011 /*              DE-AC03-76-SFO0515 with the Department of Energy              */
00012 /******************************************************************************/
00013 
00014 /* ************************************************************************** */
00015 /*                                                                            */
00016 /* OpenSSL implementation of XrdSecCMsgDigest                                 */
00017 /*                                                                            */
00018 /* ************************************************************************** */
00019 
00020 #include <openssl/evp.h>
00021 
00022 #include <XrdCrypto/XrdCryptoMsgDigest.hh>
00023 
00024 // ---------------------------------------------------------------------------//
00025 //
00026 // Message Digest implementation buffer
00027 //
00028 // ---------------------------------------------------------------------------//
00029 class XrdCryptosslMsgDigest : public XrdCryptoMsgDigest
00030 {
00031 private:
00032    bool valid;
00033    EVP_MD_CTX mdctx;
00034 
00035    int Init(const char *dgst);
00036 
00037 public:
00038    XrdCryptosslMsgDigest(const char *dgst);
00039    virtual ~XrdCryptosslMsgDigest() { }
00040 
00041    // Validity
00042    bool IsValid() { return valid; }
00043 
00044    // Support
00045    static bool IsSupported(const char *dgst);
00046 
00047    int Reset(const char *dgst = 0);
00048    int Update(const char *b, int l);
00049    int Final();
00050 };
00051 
00052 #endif

Generated on Tue Jul 5 14:46:34 2011 for ROOT_528-00b_version by  doxygen 1.5.1