xrootd
Main Page
Namespaces
Classes
Files
File List
File Members
src
XrdCrypto
XrdCryptosslMsgDigest.hh
Go to the documentation of this file.
1
#ifndef __CRYPTO_MSGDGSTSSL_H__
2
#define __CRYPTO_MSGDGSTSSL_H__
3
/******************************************************************************/
4
/* */
5
/* X r d C r y p t o S s l M s g D i g e s t . h h */
6
/* */
7
/* (c) 2004 by the Board of Trustees of the Leland Stanford, Jr., University */
8
/* Produced by Gerri Ganis for CERN */
9
/* */
10
/* This file is part of the XRootD software suite. */
11
/* */
12
/* XRootD is free software: you can redistribute it and/or modify it under */
13
/* the terms of the GNU Lesser General Public License as published by the */
14
/* Free Software Foundation, either version 3 of the License, or (at your */
15
/* option) any later version. */
16
/* */
17
/* XRootD is distributed in the hope that it will be useful, but WITHOUT */
18
/* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
19
/* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
20
/* License for more details. */
21
/* */
22
/* You should have received a copy of the GNU Lesser General Public License */
23
/* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
24
/* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
25
/* */
26
/* The copyright holder's institutional names and contributor's names may not */
27
/* be used to endorse or promote products derived from this software without */
28
/* specific prior written permission of the institution or contributor. */
29
/******************************************************************************/
30
31
/* ************************************************************************** */
32
/* */
33
/* OpenSSL implementation of XrdSecCMsgDigest */
34
/* */
35
/* ************************************************************************** */
36
37
#include <openssl/evp.h>
38
39
#include "
XrdCrypto/XrdCryptoMsgDigest.hh
"
40
41
// ---------------------------------------------------------------------------//
42
//
43
// Message Digest implementation buffer
44
//
45
// ---------------------------------------------------------------------------//
46
class
XrdCryptosslMsgDigest
:
public
XrdCryptoMsgDigest
47
{
48
private
:
49
bool
valid
;
50
EVP_MD_CTX
mdctx
;
51
52
int
Init
(
const
char
*dgst);
53
54
public
:
55
XrdCryptosslMsgDigest
(
const
char
*dgst);
56
virtual
~XrdCryptosslMsgDigest
();
57
58
// Validity
59
bool
IsValid
() {
return
valid
; }
60
61
// Support
62
static
bool
IsSupported
(
const
char
*dgst);
63
64
int
Reset
(
const
char
*dgst = 0);
65
int
Update
(
const
char
*b,
int
l);
66
int
Final
();
67
};
68
69
#endif
Generated by
1.8.3.1