blob: d65c41327daa30cd5f4e05299da4221c81301464 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
// **********************************************************************
//
// Copyright (c) 2002
// MutableRealms, Inc.
// Huntsville, AL, USA
//
// All Rights Reserved
//
// **********************************************************************
#include <Ice/MessageAuthenticator.h>
using Ice::ByteSeq;
void ::IceInternal::incRef(::IceSecurity::SecureUdp::MessageAuthenticator* p) { p->__incRef(); }
void ::IceInternal::decRef(::IceSecurity::SecureUdp::MessageAuthenticator* p) { p->__decRef(); }
IceSecurity::SecureUdp::MessageAuthenticator::MessageAuthenticator()
{
// TODO: Should generate a random MAC key here
// Bogus MAC - gotta fix this.
_macKeyBytes.push_back(2);
_macKeyBytes.push_back(0);
_macKeyBytes.push_back(0);
_macKeyBytes.push_back(2);
_macKeyBytes.push_back(0);
_macKeyBytes.push_back(1);
_macKeyBytes.push_back(1);
_macKeyBytes.push_back(7);
_macKeyBytes.push_back(1);
_macKeyBytes.push_back(0);
_macKeyBytes.push_back(2);
_macKeyBytes.push_back(2);
}
IceSecurity::SecureUdp::MessageAuthenticator::MessageAuthenticator(const ByteSeq& macKey)
{
_macKeyBytes = macKey;
}
IceSecurity::SecureUdp::MessageAuthenticator::~MessageAuthenticator()
{
}
ByteSeq
IceSecurity::SecureUdp::MessageAuthenticator::computeMAC(const ByteSeq& message) const
{
// TODO: Should generate a REAL MAC here.
ByteSeq bytes;
// Bogus MAC - gotta fix this.
bytes.push_back(2);
bytes.push_back(0);
bytes.push_back(0);
bytes.push_back(2);
bytes.push_back(0);
bytes.push_back(1);
bytes.push_back(1);
bytes.push_back(7);
bytes.push_back(1);
bytes.push_back(0);
bytes.push_back(2);
bytes.push_back(2);
return bytes;
}
bool
IceSecurity::SecureUdp::MessageAuthenticator::authenticate(const ByteSeq& message, const ByteSeq& macCode)
{
ByteSeq targetMAC = computeMAC(message);
return targetMAC == macCode;
}
const ByteSeq&
IceSecurity::SecureUdp::MessageAuthenticator::getMACKey() const
{
return _macKeyBytes;
}
|