OPAL  Version 3.18.8
h235dh.h
Go to the documentation of this file.
1 /*
2  * h235du.h
3  *
4  * H.235 Diffie-Hellman key exchange PDU's
5  *
6  * Open H323 Library
7  *
8  * Copyright (c) 1998-2013 Vox Lucida Pty. Ltd.
9  *
10  * The contents of this file are subject to the Mozilla Public License
11  * Version 1.0 (the "License"); you may not use this file except in
12  * compliance with the License. You may obtain a copy of the License at
13  * http://www.mozilla.org/MPL/
14  *
15  * Software distributed under the License is distributed on an "AS IS"
16  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
17  * the License for the specific language governing rights and limitations
18  * under the License.
19  *
20  * The Original Code is Open H323 Library.
21  *
22  * The Initial Developer of the Original Code is Equivalence Pty. Ltd.
23  *
24  * Contributor(s): ______________________________________.
25  */
26 
27 #ifndef OPAL_H323_H235DH_H
28 #define OPAL_H323_H235DH_H
29 
30 #ifdef P_USE_PRAGMA
31 #pragma interface
32 #endif
33 
34 #include <opal_config.h>
35 
36 #if OPAL_H235_6
37 
38 #include <ptclib/pssl.h>
39 
40 
41 class H225_ArrayOf_ClearToken;
43 
44 
47 class H235DiffieHellman : public PDictionary<PString, PSSLDiffieHellman>
48 {
49  typedef PDictionary<PString, PSSLDiffieHellman> BaseClass;
50  PCLASSINFO(H235DiffieHellman, BaseClass);
51  public:
52  H235DiffieHellman() : m_version3(true) { }
53 
54  virtual bool AddForAlgorithm(const OpalMediaCryptoSuite & cryptoSuite);
55  virtual PBYTEArray FindMasterKey(const OpalMediaCryptoSuite & cryptoSuite) const;
56 
57  virtual bool ToTokens(H225_ArrayOf_ClearToken & tokens) const;
58  virtual bool FromTokens(const H225_ArrayOf_ClearToken & tokens);
59 
60  bool IsVersion3() const { return m_version3; }
61 
62  protected:
63  bool m_version3;
64 };
65 
66 #endif // OPAL_H235_6
67 
68 #endif //OPAL_H323_H235AUTH_H
69 
70 
Definition: mediasession.h:321