r3091 - in trunk/libmikey: include/libmikey mikey
mikma at minisip.org
mikma at minisip.org
Sat Jan 6 12:44:11 CET 2007
Author: mikma
Date: 2007-01-06 12:44:10 +0100 (Sat, 06 Jan 2007)
New Revision: 3091
Modified:
trunk/libmikey/include/libmikey/MikeyPayloadHDR.h
trunk/libmikey/mikey/MikeyMessageDH.cxx
trunk/libmikey/mikey/MikeyMessageDHHMAC.cxx
trunk/libmikey/mikey/MikeyMessagePKE.cxx
trunk/libmikey/mikey/MikeyMessagePSK.cxx
trunk/libmikey/mikey/MikeyMessageRSAR.cxx
trunk/libmikey/mikey/MikeyPayloadHDR.cxx
Log:
Update Csb ID handling:
* Now possible to preset Csb ID in KeyAgreement.
* Use Rand::randomize instead of rand to get better random
Csb ID.
* Change to uint32_t from signed int.
Modified: trunk/libmikey/include/libmikey/MikeyPayloadHDR.h
===================================================================
--- trunk/libmikey/include/libmikey/MikeyPayloadHDR.h 2007-01-06 09:41:59 UTC (rev 3090)
+++ trunk/libmikey/include/libmikey/MikeyPayloadHDR.h 2007-01-06 11:44:10 UTC (rev 3091)
@@ -63,7 +63,7 @@
MikeyPayloadHDR( byte_t *start_of_header, int lengthLimit );
MikeyPayloadHDR( int data_type, int V, int PRF_func,
- int CSB_id, int n_cs, int map_type,
+ uint32_t CSB_id, int n_cs, int map_type,
MRef<MikeyCsIdMap *> map );
@@ -75,7 +75,7 @@
int dataType();
int v();
- unsigned int csbId();
+ uint32_t csbId();
int csIdMapType();
MRef<MikeyCsIdMap *> csIdMap();
uint8_t nCs();
@@ -85,7 +85,7 @@
int dataTypeValue;
int vValue;
int prfFunc;
- int csbIdValue;
+ uint32_t csbIdValue;
int nCsValue;
int csIdMapTypeValue;
MRef<MikeyCsIdMap *> csIdMapPtr;
Modified: trunk/libmikey/mikey/MikeyMessageDH.cxx
===================================================================
--- trunk/libmikey/mikey/MikeyMessageDH.cxx 2007-01-06 09:41:59 UTC (rev 3090)
+++ trunk/libmikey/mikey/MikeyMessageDH.cxx 2007-01-06 11:44:10 UTC (rev 3091)
@@ -35,6 +35,7 @@
#include<libmikey/MikeyPayloadDH.h>
#include<libmikey/MikeyPayloadERR.h>
#include<libmcrypto/SipSim.h>
+#include<libmcrypto/rand.h>
#include<map>
@@ -46,9 +47,13 @@
MikeyMessageDH::MikeyMessageDH( KeyAgreementDH * ka ){
/* generate random a CryptoSessionBundle ID */
- unsigned int csbId = rand();
- ka->setCsbId( csbId );
+ unsigned int csbId = ka->csbId();
+ if( !csbId ){
+ Rand::randomize( &csbId, sizeof( csbId ));
+ ka->setCsbId( csbId );
+ }
+
addPayload(
new MikeyPayloadHDR( HDR_DATA_TYPE_DH_INIT, 1,
HDR_PRF_MIKEY_1, csbId,
Modified: trunk/libmikey/mikey/MikeyMessageDHHMAC.cxx
===================================================================
--- trunk/libmikey/mikey/MikeyMessageDHHMAC.cxx 2007-01-06 09:41:59 UTC (rev 3090)
+++ trunk/libmikey/mikey/MikeyMessageDHHMAC.cxx 2007-01-06 11:44:10 UTC (rev 3091)
@@ -37,6 +37,7 @@
#include<libmikey/MikeyPayloadKEMAC.h>
#include<libmikey/MikeyPayloadRAND.h>
#include<libmikey/MikeyPayloadT.h>
+#include<libmcrypto/rand.h>
#include<map>
@@ -49,9 +50,13 @@
int macAlg){
/* generate random a CryptoSessionBundle ID */
- unsigned int csbId = rand();
- ka->setCsbId( csbId );
+ unsigned int csbId = ka->csbId();
+ if( !csbId ){
+ Rand::randomize( &csbId, sizeof( csbId ));
+ ka->setCsbId( csbId );
+ }
+
addPayload(
new MikeyPayloadHDR( HDR_DATA_TYPE_DHHMAC_INIT, 1,
HDR_PRF_MIKEY_1, csbId,
Modified: trunk/libmikey/mikey/MikeyMessagePKE.cxx
===================================================================
--- trunk/libmikey/mikey/MikeyMessagePKE.cxx 2007-01-06 09:41:59 UTC (rev 3090)
+++ trunk/libmikey/mikey/MikeyMessagePKE.cxx 2007-01-06 11:44:10 UTC (rev 3091)
@@ -38,6 +38,7 @@
#include <libmikey/MikeyPayloadKEMAC.h>
#include <libmikey/MikeyPayloadV.h>
#include <libmikey/MikeyPayloadPKE.h>
+#include<libmcrypto/rand.h>
using namespace std;
@@ -46,8 +47,13 @@
MikeyMessagePKE::MikeyMessagePKE( KeyAgreementPKE* ka, int encrAlg, int macAlg ){
- unsigned int csbId = rand();
- ka->setCsbId(csbId);
+ unsigned int csbId = ka->csbId();
+
+ if( !csbId ){
+ Rand::randomize( &csbId, sizeof( csbId ));
+ ka->setCsbId( csbId );
+ }
+
MikeyPayloadT* tPayload;
MikeyPayloadRAND* randPayload;
Modified: trunk/libmikey/mikey/MikeyMessagePSK.cxx
===================================================================
--- trunk/libmikey/mikey/MikeyMessagePSK.cxx 2007-01-06 09:41:59 UTC (rev 3090)
+++ trunk/libmikey/mikey/MikeyMessagePSK.cxx 2007-01-06 11:44:10 UTC (rev 3091)
@@ -37,6 +37,7 @@
#include<libmikey/MikeyPayloadID.h>
#include<libmikey/keyagreement_psk.h>
#include<libmikey/MikeyPayloadSP.h>
+#include<libmcrypto/rand.h>
using namespace std;
@@ -46,11 +47,15 @@
MikeyMessagePSK::MikeyMessagePSK( KeyAgreementPSK * ka,
int encrAlg, int macAlg ){
- unsigned int csbId = rand();
- ka->setCsbId( csbId );
+ unsigned int csbId = ka->csbId();
MikeyPayloadT * tPayload;
MikeyPayloadRAND * randPayload;
+ if( !csbId ){
+ Rand::randomize( &csbId, sizeof( csbId ));
+ ka->setCsbId( csbId );
+ }
+
addPayload(
new MikeyPayloadHDR( HDR_DATA_TYPE_PSK_INIT, 1,
HDR_PRF_MIKEY_1, csbId,
Modified: trunk/libmikey/mikey/MikeyMessageRSAR.cxx
===================================================================
--- trunk/libmikey/mikey/MikeyMessageRSAR.cxx 2007-01-06 09:41:59 UTC (rev 3090)
+++ trunk/libmikey/mikey/MikeyMessageRSAR.cxx 2007-01-06 11:44:10 UTC (rev 3091)
@@ -39,6 +39,7 @@
#include <libmikey/MikeyPayloadKEMAC.h>
#include <libmikey/MikeyPayloadV.h>
#include <libmikey/MikeyPayloadPKE.h>
+#include<libmcrypto/rand.h>
using namespace std;
@@ -47,8 +48,13 @@
MikeyMessageRSAR::MikeyMessageRSAR( KeyAgreementRSAR* ka ){
- unsigned int csbId = rand();
- ka->setCsbId(csbId);
+ unsigned int csbId = ka->csbId();
+
+ if( !csbId ){
+ Rand::randomize( &csbId, sizeof( csbId ));
+ ka->setCsbId( csbId );
+ }
+
MikeyPayloadT* tPayload;
MikeyPayloadRAND* randPayload;
Modified: trunk/libmikey/mikey/MikeyPayloadHDR.cxx
===================================================================
--- trunk/libmikey/mikey/MikeyPayloadHDR.cxx 2007-01-06 09:41:59 UTC (rev 3090)
+++ trunk/libmikey/mikey/MikeyPayloadHDR.cxx 2007-01-06 11:44:10 UTC (rev 3091)
@@ -32,7 +32,7 @@
using namespace std;
-MikeyPayloadHDR::MikeyPayloadHDR( int dataType, int v, int prfFunc, int csbId,
+MikeyPayloadHDR::MikeyPayloadHDR( int dataType, int v, int prfFunc, uint32_t csbId,
int nCs, int mapType, MRef<MikeyCsIdMap *> map ) {
this->payloadTypeValue = MIKEYPAYLOAD_HDR_PAYLOAD_TYPE;
More information about the Minisip-devel
mailing list