go-srp
go-srp copied to clipboard
go-srp
Introduction
Golang implementation of the SRP protocol, used for authentication of ProtonMail users.
License
Copyright (c) 2019 Proton Technologies AG
Please see LICENSE file for the license.
Doc
.NET Wrapper
The windows folder contains the wrapper for .net.
Build for mobile apps
Setup Go Mobile and build/bind the source code:
Go Mobile repo: https://github.com/golang/mobile
Go Mobile wiki: https://github.com/golang/go/wiki/Mobile
-
Install Go:
brew install go -
Install Gomobile:
go get -u golang.org/x/mobile/cmd/gomobile -
Install Gobind:
go install golang.org/x/mobile/cmd/gobind -
Install Android SDK and NDK using Android Studio
-
Set env:
export ANDROID_HOME="/AndroidSDK"(path to your SDK) -
Init gomobile:
gomobile init -ndk /AndroidSDK/ndk-bundle/(path to your NDK) -
Copy Go module dependencies to the vendor directory:
go mod vendor -
Build examples:
gomobile build -target=android #or iosBind examples:
gomobile bind -target ios -o frameworks/name.frameworkgomobile bind -target androidThe bind will create framework for iOS and jar&aar files for Android (x86_64 and ARM).
Other notes
If you wish to use build.sh, you may need to modify the paths in it.
go mod vendor
./build.sh
Dependencies
github.com/ProtonMail/bcrypt (fork of github.com/jameskeane/bcrypt)