Open cobratbq opened 4 years ago
@ibauersachs in that case, for your request, please do that first. The merge I performed was for changes up to now. Embedding these changes should not be a big issue. I cannot currently do 3.
anyways.
As for 1.
and 2.
:
1.
Sure. I cannot currently think of any arguments against it as the crypto-export-regulations have been removed from JREs/JDKs, and the primitives that are in use are well established and supported by now.2.
is a useful addition anyways.@ibauersachs I'll see if I can tackle the changes you mentioned in the merged repo. We can use those changes as the cross-over moment.
@ibauersachs if you already have some of the replacement crypto implemented, can you drop me a line? There is no sense in having the same work done twice.
See the changes in #34
Some initial effort, including merging of #34, can be found in branch remove-BC. The changes to the cryptographic code has not been tested yet. It uses JCA for all crypto, so DSA signing/verifying, DH, AES encryption/decryption. As we're looking at some very specific ways of operating the cryptographic primitives, it will need some thorough interop-testing. (I'm not sure when exactly I will get to that.)
I've done some cross-implementation testing. Everything seems to be in order. Repeated (15000+ runs) of AES encrypting/decrypting and DSA signing/verifying using random data check out.
Ironically, we cannot yet get rid of Bouncy Castle itself, since we use a utility to serialize BigIntegers. So that's my next target.
@ibauersachs one concern I have is that NONEwithDSAinP1363Format
is not available on many Java 8 runtimes, and I specifically have seen very little about Android. This one might be a deal-breaker.
I've done some cross-implementation testing. Everything seems to be in order. Repeated (15000+ runs) of AES encrypting/decrypting and DSA signing/verifying using random data check out.
Thanks! I didn't have time to look at it yet, I hope to find some time tomorrow.
Ironically, we cannot yet get rid of Bouncy Castle itself, since we use a utility to serialize BigIntegers. So that's my next target.
Is that used because of Java's leading 0 signed/unsigned stupidity instead of a built-in function?
@ibauersachs one concern I have is that
NONEwithDSAinP1363Format
is not available on many Java 8 runtimes, and I specifically have seen very little about Android. This one might be a deal-breaker.
Can that alg be loaded via name? If so, it might be sufficient to optionally depend on BC via Security.addProvider
.
Thanks! I didn't have time to look at it yet, I hope to find some time tomorrow.
I've moved the BC-specific implementations to testing code. It would be really helpful if you could make some jitsi instances (old + new) set up a session and do some conversing.
Is that used because of Java's leading 0 signed/unsigned stupidity instead of a built-in function?
Yes.
Can that alg be loaded via name? If so, it might be sufficient to optionally depend on BC via
Security.addProvider
.
It is loaded via that name, so indeed, we should be able to use BC as a provider for JCA. I had not thought of that. That would be great!
Hi all,
There has been a request (@Neustradamus) to re-establish work on otr4j/otr4j's effort as organization for otr4j and with it the question of which repo's exist, and for what purpose and why so many and what to use. I'd like to see if we can pick up the conversation again.
I was under the impression that there were no issues regarding the existence of otr4j/otr4j. However, recently I have doubts. Please know that there was no bad intention for my continued work on that fork other than wanting to implement under the original license. I am happy to merge the work into jitsi/otr4j, and that includes the license change, for as far as I can grant this. So, if this is a sensitive topic then I would like to discuss it. (Note that I have not offered any changes so far because the work is incomplete.)
Further more there is additional confusion given that https://github.com/redsolution/otr4j is listed by github.com as "the original otr4j repo", with rest being forks of that. However, IIUC jitsi/otr4j is the only one that publishes packages to maven, for example. (I do not know if the release packages at otr4j/otr4j are used by anyone or who created those.)
I have already invited George to the organization. Of course we can change/add invites as needed.
Your thoughts?