xrootd
XrdCryptosslMsgDigest.hh
Go to the documentation of this file.
1 // $Id$
2 #ifndef __CRYPTO_MSGDGSTSSL_H__
3 #define __CRYPTO_MSGDGSTSSL_H__
4 /******************************************************************************/
5 /* */
6 /* X r d C r y p t o S s l M s g D i g e s t . h h */
7 /* */
8 /* (c) 2004 by the Board of Trustees of the Leland Stanford, Jr., University */
9 /* All Rights Reserved. See XrdInfo.cc for complete License Terms */
10 /* Produced by Andrew Hanushevsky for Stanford University under contract */
11 /* DE-AC03-76-SFO0515 with the Department of Energy */
12 /******************************************************************************/
13 
14 /* ************************************************************************** */
15 /* */
16 /* OpenSSL implementation of XrdSecCMsgDigest */
17 /* */
18 /* ************************************************************************** */
19 
20 #include <openssl/evp.h>
21 
23 
24 // ---------------------------------------------------------------------------//
25 //
26 // Message Digest implementation buffer
27 //
28 // ---------------------------------------------------------------------------//
30 {
31 private:
32  bool valid;
33  EVP_MD_CTX mdctx;
34 
35  int Init(const char *dgst);
36 
37 public:
38  XrdCryptosslMsgDigest(const char *dgst);
39  virtual ~XrdCryptosslMsgDigest();
40 
41  // Validity
42  bool IsValid() { return valid; }
43 
44  // Support
45  static bool IsSupported(const char *dgst);
46 
47  int Reset(const char *dgst = 0);
48  int Update(const char *b, int l);
49  int Final();
50 };
51 
52 #endif