-
Notifications
You must be signed in to change notification settings - Fork 11
Add support for different SRP revisions (3, 6) #15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report
@@ Coverage Diff @@
## master #15 +/- ##
==========================================
- Coverage 89.58% 89.50% -0.09%
==========================================
Files 38 38
Lines 4255 4279 +24
Branches 145 148 +3
==========================================
+ Hits 3812 3830 +18
- Misses 390 394 +4
- Partials 53 55 +2
Continue to review full report at Codecov.
|
|
Thanks a lot for the PR! 👍 |
|
Thanks a lot for merging! If it's not too big of a hassle for you, I'd really appreciate a new nuget release with this feature in, so I could drop usage of my fork in the main project, of course once you're satisfied and ready with it. Thanks in advance! 😎 |
|
Thank you a lot @yallie, all the best! 🥳 |
|
Thanks for the PR! 🥇 Out of curiosity, what's the name of the server that supports plain SRP-6 protocol? |
|
It's a proprietary third-party broker (stock market) service, there is a chance that they're using some open-source solution behind it, but I don't have the details about their exact implementation and I don't want to ask as I'm not directly connected with that company (just a guy who is writing integration with it). If you'd like to I can shoot you an e-mail with the URL privately if you want to pursue it further, but chance is it won't even reach the people who will be able to answer your question 🙁. Sorry, I don't know, I just needed to implement SRP protocol to pass their login procedure, and found out they're using revision 6 instead of 6a. |
|
Ah, nevermind, I was just asking. |
This PR adds support for different SRP revisions - namely
3and6, on top of existing6a.The server that I'm working with supports only SRP in revision
6. Using6aimplementation of srp.net for it obviously generates invalid session, as the algorithm is different. However, it's quite simple to add missing support for revision6, which affects only howKis generated.I tested SRP algorithm with revision
6against the real server and it seems to be working properly. I've also added one unit test.I didn't test revision
3, but found it along6and6athat should differ only in value ofK. I've added support for it along the way.Thank you in advance for considering this enhancement.