r3367 - in trunk/libmcrypto: include/libmcrypto source
erik at minisip.org
erik at minisip.org
Wed Aug 15 16:20:13 CEST 2007
Author: erik
Date: 2007-08-15 16:20:12 +0200 (Wed, 15 Aug 2007)
New Revision: 3367
Modified:
trunk/libmcrypto/include/libmcrypto/SipSim.h
trunk/libmcrypto/include/libmcrypto/rand.h
trunk/libmcrypto/source/SipSimSoft.cxx
Log:
libmcrypto:
* bug fix: SipSimSoft::getRandomValue did not return true
on success.
* added assertions that fails when using certificates that
does not exist.
Modified: trunk/libmcrypto/include/libmcrypto/SipSim.h
===================================================================
--- trunk/libmcrypto/include/libmcrypto/SipSim.h 2007-08-14 17:32:06 UTC (rev 3366)
+++ trunk/libmcrypto/include/libmcrypto/SipSim.h 2007-08-15 14:20:12 UTC (rev 3367)
@@ -50,6 +50,10 @@
bool doHash,
int hash_alg=HASH_SHA1) = 0;
+ /**
+ * Returns cryptographically strong random data
+ * @return true of success, false otherwise
+ */
virtual bool getRandomValue(unsigned char * randomPtr, unsigned long randomLength) = 0;
//virtual bool getDHPublicValue(unsigned long & dhPublicValueLength, unsigned char * dhPublickValuePtra)=0;
Modified: trunk/libmcrypto/include/libmcrypto/rand.h
===================================================================
--- trunk/libmcrypto/include/libmcrypto/rand.h 2007-08-14 17:32:06 UTC (rev 3366)
+++ trunk/libmcrypto/include/libmcrypto/rand.h 2007-08-15 14:20:12 UTC (rev 3367)
@@ -35,6 +35,7 @@
/**
* Generate cryptographically strong random data
+ * @return true on success, false otherwise
*/
static bool randomize(void *buffer, size_t length);
static bool randomize(void *buffer, size_t length, MRef<SipSim *> sim);
Modified: trunk/libmcrypto/source/SipSimSoft.cxx
===================================================================
--- trunk/libmcrypto/source/SipSimSoft.cxx 2007-08-14 17:32:06 UTC (rev 3366)
+++ trunk/libmcrypto/source/SipSimSoft.cxx 2007-08-15 14:20:12 UTC (rev 3367)
@@ -7,6 +7,8 @@
SipSimSoft::SipSimSoft(MRef<CertificateChain*> chain, MRef<CertificateSet*> cas)
{
+ massert(chain);
+ massert(chain->getFirst());
certChain = chain;
ca_set = cas;
}
@@ -18,15 +20,16 @@
bool doHash,
int hash_alg)
{
+ massert(doHash /*we don't support not hashing in SipSimSoft yet...*/);
+ massert(certChain);
MRef<Certificate*> myCert = certChain->getFirst();
- assert(doHash /*we don't support not hashing in SipSimSoft yet...*/);
+ massert(myCert);
myCert->signData(data, dataLength, signaturePtr, &signatureLength);
return true;
}
bool SipSimSoft::getRandomValue(unsigned char * randomPtr, unsigned long randomLength)
{
- Rand::randomize(randomPtr, randomLength);
- return false;
+ return Rand::randomize(randomPtr, randomLength);
}
More information about the Minisip-devel
mailing list