00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _ZRTPPACKETDHPART_H_
00019 #define _ZRTPPACKETDHPART_H_
00020
00021 #include <libzrtpcpp/ZrtpPacketBase.h>
00022
00033 class ZrtpPacketDHPart : public ZrtpPacketBase {
00034
00035 protected:
00036 uint8_t *pv;
00037 DHPart_t* DHPartHeader;
00038
00039 public:
00040 ZrtpPacketDHPart(SupportedPubKeys pkt);
00041 ZrtpPacketDHPart(uint8_t* data);
00042 virtual ~ZrtpPacketDHPart();
00043
00044 uint8_t* getPv() { return pv; }
00045 uint8_t* getRs1Id() { return DHPartHeader->rs1Id; };
00046 uint8_t* getRs2Id() { return DHPartHeader->rs2Id; };
00047 uint8_t* getSigsId() { return DHPartHeader->sigsId; };
00048 uint8_t* getSrtpsId() { return DHPartHeader->srtpsId; };
00049 uint8_t* getOtherSecretId() { return DHPartHeader->otherSecretId; };
00050
00051 void setPv(uint8_t* text) { memcpy(pv, text, ((pktype == Dh3072) ? 384 :512)); };
00052 void setRs1Id(uint8_t* text) { memcpy(DHPartHeader->rs1Id, text, sizeof(DHPartHeader->rs1Id)); };
00053 void setRs2Id(uint8_t* text) { memcpy(DHPartHeader->rs2Id, text, sizeof(DHPartHeader->rs2Id)); };
00054 void setSigsId(uint8_t* text) { memcpy(DHPartHeader->sigsId, text, sizeof(DHPartHeader->sigsId)); };
00055 void setSrtpsId(uint8_t* t) { memcpy(DHPartHeader->srtpsId, t, sizeof(DHPartHeader->srtpsId)); };
00056 void setOtherSecretId(uint8_t* t) { memcpy(DHPartHeader->otherSecretId,t, sizeof(DHPartHeader->otherSecretId)); };
00057
00058 private:
00059 SupportedPubKeys pktype;
00060
00061
00062
00063
00064 uint8_t data[768];
00065
00066 };
00067
00068 #endif // ZRTPPACKETDHPART
00069