IBR-DTNSuite
0.12
Main Page
Namespaces
Classes
Files
File List
File Members
IBR-DTNSuite
Namespaces
Classes
Files
File List
daemon
ibrcommon
ibrcommon
data
link
net
ssl
gcm
AES128Stream.cpp
AES128Stream.h
CipherStream.cpp
CipherStream.h
HashStream.cpp
HashStream.h
HMacStream.cpp
HMacStream.h
InputCipherStream.cpp
InputCipherStream.h
iostreamBIO.cpp
iostreamBIO.h
RSASHA256Stream.cpp
RSASHA256Stream.h
TLSStream.cpp
TLSStream.h
XORStream.cpp
XORStream.h
thread
xml
appstreambuf.cpp
appstreambuf.h
config.h
Exceptions.h
ibrcommon.h
Iterator.h
Logger.cpp
Logger.h
MonotonicClock.cpp
MonotonicClock.h
refcnt_ptr.h
SyslogStream.cpp
SyslogStream.h
TimeMeasurement.cpp
TimeMeasurement.h
TLSExceptions.h
ibrdtn
tools
File Members
HMacStream.cpp
Go to the documentation of this file.
1
/*
2
* HMacStream.cpp
3
*
4
* Copyright (C) 2011 IBR, TU Braunschweig
5
*
6
* Written-by: Johannes Morgenroth <morgenroth@ibr.cs.tu-bs.de>
7
*
8
* Licensed under the Apache License, Version 2.0 (the "License");
9
* you may not use this file except in compliance with the License.
10
* You may obtain a copy of the License at
11
*
12
* http://www.apache.org/licenses/LICENSE-2.0
13
*
14
* Unless required by applicable law or agreed to in writing, software
15
* distributed under the License is distributed on an "AS IS" BASIS,
16
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
* See the License for the specific language governing permissions and
18
* limitations under the License.
19
*
20
*/
21
22
#include "
ibrcommon/ssl/HMacStream.h
"
23
24
namespace
ibrcommon
25
{
26
HMacStream::HMacStream
(
const
unsigned
char
*
const
key,
const
int
key_size)
27
:
HashStream
(
BUFF_SIZE
, EVP_MAX_MD_SIZE), key_(key), key_size_(key_size)
28
{
29
HMAC_CTX_init(&ctx_);
30
HMAC_Init_ex(&ctx_, key_, key_size_, EVP_sha1(), NULL);
31
}
32
33
HMacStream::~HMacStream
()
34
{
35
HMAC_CTX_cleanup(&ctx_);
36
}
37
38
void
HMacStream::update
(
char
*buf,
const
size_t
size)
39
{
40
// hashing
41
HMAC_Update(&ctx_, (
unsigned
char
*)buf, size);
42
}
43
44
void
HMacStream::finalize
(
char
* hash,
unsigned
int
&size)
45
{
46
HMAC_Final(&ctx_, (
unsigned
char
*)hash, &size);
47
}
48
}
ibrcommon
ibrcommon
ssl
HMacStream.cpp
Generated on Thu Mar 27 2014 09:26:21 for IBR-DTNSuite by
1.8.4