Here is the latest patch of SRTP implementation. Sorry for the delay.
I should post this patch on Friday.
Two major achievements recently done are:
1. I added javadoc comments to all the code I wrote.
2. I tested F8 mode encryption and HMC SHA1 authentication code and,
of course, fixed
some minor bugs to get the code working. I've tested them with SIP
Communicator itself on windows.
3. Replay checking's code is done, but the test result is not good.
Calculation is not correct all the time. I've spent some time on this
bug. But until now, no big progress. So I commented out the line
calling checkReplay() method. I will try to fix this bug as soon as
possible, perhaps before Monday.
Until now, this patch should have the major functionalities required
for a simple SRTP implementation. And for inter-sc communication, it
may be enough. (With a simple customized key exchange mechanism.)
But for secured communication with other clients, a standard key
management protocol is required. Next week I will discuss this with my
mentor Romain and do the survey work at first.
I believe there are still potential places that we can do better and
bugs hidden in the implementation. So if you have any comments or
found any bugs. Please let me know. Thank you for your support.
PS: I've attached 3 files:
1. sc-srtp-impl-v0.5.patch is a patch against the latest CVS revision,
generated using eclipse.
2. sc-srtp-impl-v0.5.src.zip is a zip archive containing all the code
I wrote and the modified files. If you just want to have a look at my
work without checking out the
whole project, or if you have problems applying the patch, please use this one.
3. bcprov-jdk14-137.zip is a modified version of the original bouncy
castle bcprov-jdk14-137.jar. The original jar is in CVS. But if you
encounter strange class
not found exception. You can try this.
sc-srtp-impl-v0.5.patch (106 KB)
sc-srtp-impl-v0.5.src.zip (55.6 KB)
bcprov-jdk14-137.zip (1.12 MB)