IBR-DTNSuite
0.12
Main Page
Namespaces
Classes
Files
File List
File Members
IBR-DTNSuite
Namespaces
Classes
Files
File List
daemon
ibrcommon
ibrdtn
ibrdtn
api
data
security
BundleAuthenticationBlock.cpp
BundleAuthenticationBlock.h
ExtensionSecurityBlock.cpp
ExtensionSecurityBlock.h
MutableSerializer.cpp
MutableSerializer.h
PayloadConfidentialBlock.cpp
PayloadConfidentialBlock.h
PayloadIntegrityBlock.cpp
PayloadIntegrityBlock.h
SecurityBlock.cpp
SecurityBlock.h
SecurityKey.cpp
SecurityKey.h
StrictSerializer.cpp
StrictSerializer.h
streams
utils
config.h
dummy.cpp
ibrdtn.h
tools
File Members
ExtensionSecurityBlock.h
Go to the documentation of this file.
1
/*
2
* ExtensionSecurityBlock.h
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
#ifndef _EXTENSION_SECURITY_BLOCK_H_
23
#define _EXTENSION_SECURITY_BLOCK_H_
24
#include "
ibrdtn/security/SecurityBlock.h
"
25
#include "
ibrdtn/security/SecurityKey.h
"
26
#include "
ibrdtn/data/ExtensionBlock.h
"
27
28
namespace
dtn
29
{
30
namespace
security
31
{
45
class
ExtensionSecurityBlock
:
public
SecurityBlock
46
{
51
friend
class
dtn::data::Bundle
;
52
public
:
53
class
Factory
:
public
dtn::data::ExtensionBlock::Factory
54
{
55
public
:
56
Factory
() : dtn::data::ExtensionBlock::
Factory
(
ExtensionSecurityBlock
::
BLOCK_TYPE
) {};
57
virtual
~Factory
() {};
58
virtual
dtn::data::Block
*
create
();
59
};
60
62
static
const
dtn::data::block_t
BLOCK_TYPE
;
63
65
virtual
~ExtensionSecurityBlock
();
66
74
static
void
encrypt
(
dtn::data::Bundle
& bundle,
const
SecurityKey
&key,
dtn::data::Bundle::iterator
it,
const
dtn::data::EID
& source,
const
dtn::data::EID
& destination);
75
86
static
void
decrypt
(
dtn::data::Bundle
& bundle,
const
SecurityKey
&key,
dtn::data::Bundle::iterator
it);
87
100
static
void
decrypt
(
dtn::data::Bundle
& bundle,
const
SecurityKey
&key,
const
dtn::data::Number
&correlator = 0);
101
102
protected
:
107
ExtensionSecurityBlock
();
108
};
109
113
static
ExtensionSecurityBlock::Factory
__ExtensionSecurityBlockFactory__;
114
}
115
}
116
117
#endif
ibrdtn
ibrdtn
security
ExtensionSecurityBlock.h
Generated on Thu Mar 27 2014 09:26:21 for IBR-DTNSuite by
1.8.4