On 5/15/14 5:08 AM, Partha Debnath wrote:

> I want to know if there is any other implementation of the same to
> start with which requires bare minimum implementation to achieve it .
> 
> Currently we have OpenSSL and NSS in C++, is there any other security
> package besides this in C++ which is more comprehensive.

I think OpenSSL should be sufficient. You'll need to build functions for
HKDF and HAWK out of the SHA256 hash and HMAC functions that OpenSSL
provides. You'll also need PBKDF2-HMAC-SHA256, which I *think* is
included in OpenSSL (but I could be wrong). It's pretty easy to build
out of SHA256, though.

Since you're using C++, you could also use the excellent "Crypto++"
library (http://www.cryptopp.com/). It has a class named
PKCS5_PBKDF2_HMAC that should handle the PBKDF2 needs. I'm not a C++
programmer but I'm told that Crypto++ is pretty easy to use and very
solid.

You should use the test vectors in
https://github.com/mozilla/fxa-auth-server/wiki/onepw-protocol#test-vectors
to make sure your implementation matches the specification. The python
code in https://github.com/mozilla/fxa-python-client was used to create
those vectors, which might be another useful resource.

good luck!
 -Brian

_______________________________________________
Dev-fxacct mailing list
[email protected]
https://mail.mozilla.org/listinfo/dev-fxacct

Reply via email to