Preferable way is to download tarball with the signature from
website and, for example, run tests with benchmarks:
-@verbatim
-$ [fetch|wget] http://gogost.cypherpunks.ru/gogost-4.2.0.tar.xz
-$ [fetch|wget] http://gogost.cypherpunks.ru/gogost-4.2.0.tar.xz.sig
-$ gpg --verify gogost-4.2.0.tar.xz.sig gogost-4.2.0.tar.xz
-$ xz -d < gogost-4.2.0.tar.xz | tar xf -
-$ make -C gogost-4.2.0 all bench
-$ echo hello world | ./gogost-4.2.0/streebog256
+@example
+$ [fetch|wget] http://gogost.cypherpunks.ru/gogost-@value{VERSION}.tar.xz
+$ [fetch|wget] http://gogost.cypherpunks.ru/gogost-@value{VERSION}.tar.xz.sig
+$ gpg --verify gogost-@value{VERSION}.tar.xz.sig gogost-@value{VERSION}.tar.xz
+$ xz -d < gogost-@value{VERSION}.tar.xz | tar xf -
+$ make -C gogost-@value{VERSION} all bench
+$ echo hello world | gogost-@value{VERSION}/streebog256
f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
-@end verbatim
+@end example
And then you can include its source code in your project for example
like this:
-@verbatim
+@example
$ mkdir -p myproj/src
-$ cp -r gogost-4.2.0/src/go.cypherpunks.ru myproj/src
+$ cp -r gogost-@value{VERSION}/src/go.cypherpunks.ru myproj/src
$ export GOPATH=$PWD/myproj
$ cd myproj/src
$ cat > main.go <<EOF
"go.cypherpunks.ru/gogost/v4/gost34112012256"
)
-func main() {
+func main() @{
h := gost34112012256.New()
h.Write([]byte("hello world\n"))
fmt.Println(hex.EncodeToString(h.Sum(nil)))
-}
+@}
EOF
$ go run main.go
f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
-@end verbatim
+@end example
@multitable {XXXXX} {XXXX-XX-XX} {XXXX KiB} {link sign} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
@headitem Version @tab Date @tab Size @tab Tarball @tab SHA256 checksum @tab Streebog-256 checksum
You @strong{have to} verify downloaded tarballs integrity and
authenticity to be sure that you retrieved trusted and untampered
-software. @url{https://www.gnupg.org/, The GNU Privacy Guard} is used
+software. @url{https://www.gnupg.org/, GNU Privacy Guard} is used
for that purpose.
For the very first time it is necessary to get signing public key and
@item @url{https://lists.cypherpunks.ru/mailman/listinfo/gost, gost} maillist
@item
-@verbatim
+@example
$ gpg --auto-key-locate dane --locate-keys gogost at cypherpunks dot ru
$ gpg --auto-key-locate wkd --locate-keys gogost at cypherpunks dot ru
-@end verbatim
+@end example
@item
@verbatiminclude PUBKEY.asc
GoGOST is also @command{go get}-able. For example to use
@command{streebog256} utility:
-@verbatim
+
+@example
$ go get go.cypherpunks.ru/gogost/cmd/streebog256
-@end verbatim
+@end example
@code{go.cypherpunks.ru} uses @url{https://www.cacert.org/, CACert.org}
certificate authority, that is not included by default in some operating
environment variable.
Also you can use @code{replace} feature inside your @file{go.mod}, like:
-@verbatim
-require go.cypherpunks.ru/gogost/v4 v4.2.0
-replace go.cypherpunks.ru/gogost/v4 => /home/stargrave/gogost-4.2.0/src/go.cypherpunks.ru/gogost/v4
-@end verbatim
+
+@example
+require go.cypherpunks.ru/gogost/v4 v@value{VERSION}
+replace go.cypherpunks.ru/gogost/v4 => /home/stargrave/gogost-@value{VERSION}/src/go.cypherpunks.ru/gogost/v4
+@end example
You can obtain development source code with
@command{git clone git://git.cypherpunks.ru/gogost.git}.