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