Skip to content
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

Validated this library against tssrp6a #9

Closed
Xavier59 opened this issue Oct 7, 2022 · 3 comments
Closed

Validated this library against tssrp6a #9

Xavier59 opened this issue Oct 7, 2022 · 3 comments

Comments

@Xavier59
Copy link

Xavier59 commented Oct 7, 2022

Thank you for the library @adam-fowler ! :)

I wanted to let future users know that this module is compatible with tssrp6a as I have tested it today.
Note : It is necessary to use calculateSimpleClientProof. Do not use calculateClientProof or it won't work.

@Xavier59 Xavier59 closed this as completed Oct 7, 2022
@adam-fowler
Copy link
Owner

cheers, did you mean you should use calculateClientProof?

@Xavier59
Copy link
Author

Edited my post to correct this mistake

@Xavier59
Copy link
Author

Xavier59 commented Oct 10, 2022

Also, the default identity calculation of tssrp6a does not contain the username, while this library does.
There is actually an issue & PR open on tssrp6a to add the username in identity so that it conforms better to srp 6a. However as of today, it is not yet the case.
Server side on tssrp6a, I had to add the following :

class SRP6aRoutines extends SRPRoutines {
    public computeIdentityHash(I: string, P: string): Promise<ArrayBuffer> {
        return this.hash(new TextEncoder().encode(`${I}:${P}`).buffer)
    }
}

In the README.md of swift-srp, SHA256 is used. tssrp6a default to SHA512. If you use this 2 libraries, make sure to have the same hashing algorithm set.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants