]> Cypherpunks.ru repositories - gogost.git/blobdiff - install.texi
Download link for 5.14.1 release
[gogost.git] / install.texi
index d62987c0528df8fa927e3ec0ba45c0f4edf3cefa..3e72eb0f8adc65e86cbf3f8fdc276a67d7be8a49 100644 (file)
@@ -5,22 +5,16 @@ Preferable way is to download tarball with the signature from
 website and, for example, run tests with benchmarks:
 
 @example
-$ [fetch|wget] http://www.gogost.cypherpunks.ru/gogost-@value{VERSION}.tar.xz
-$ [fetch|wget] http://www.gogost.cypherpunks.ru/gogost-@value{VERSION}.tar.xz.sig
-$ gpg --verify gogost-@value{VERSION}.tar.xz.sig gogost-@value{VERSION}.tar.xz
-$ xz --decompress --stdout gogost-@value{VERSION}.tar.xz | tar xf -
+$ [fetch|wget] http://www.gogost.cypherpunks.ru/gogost-@value{VERSION}.tar.zst
+$ [fetch|wget] http://www.gogost.cypherpunks.ru/gogost-@value{VERSION}.tar.zst.@{asc,sig@}
+[verify signature]
+$ tar xf gogost-@value{VERSION}.tar.zst
 $ cd gogost-@value{VERSION}
-$ redo all
+$ go build -mod=vendor -o streebog256 ./cmd/streebog256
 $ echo hello world | ./streebog256
 f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
 @end example
 
-It uses @url{http://cr.yp.to/redo.html, redo} build system for that
-examples. You can use either dozen of various implementations, or at
-least minimalistic POSIX shell @command{contrib/do} (just replace
-@command{redo} with @command{contrib/do} in the example above) included
-in tarball.
-
 @include download.texi
 
 And then you can include its source code in your project for example
@@ -30,7 +24,7 @@ like this:
 $ mkdir -p myproj/vendor/go.cypherpunks.ru/gogost
 $ mv gogost-@value{VERSION} myproj/vendor/go.cypherpunks.ru/gogost/v5
 $ cd myproj
-$ cat > main.go <<EOF
+$ cat >main.go <<EOF
 package main
 
 import (
@@ -50,56 +44,38 @@ $ go run main.go
 f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
 @end example
 
-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/, GNU Privacy Guard} is used
-for that purpose.
-
-For the very first time it is necessary to get signing public key and
-import it. It is provided below, but you should check alternative
-resources.
+@include integrity.texi
 
-@verbatim
-pub   rsa2048/0x82343436696FC85A 2016-09-13 [SC]
-      CEBD 1282 2C46 9C02 A81A  0467 8234 3436 696F C85A
-uid   GoGOST releases <gogost at cypherpunks dot ru>
-@end verbatim
-
-@itemize
-
-@item @url{http://lists.cypherpunks.ru/gost.html, gost} maillist
+GoGOST is also @command{go get}-able. For example to install
+@command{streebog256} utility:
 
-@item
 @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
+$ go install go.cypherpunks.ru/gogost/v5/cmd/streebog256@@latest
 @end example
 
-@item
-@verbatiminclude PUBKEY.asc
-
-@end itemize
+Aware that @code{go.cypherpunks.ru} uses
+@url{//www.ca.cypherpunks.ru, ca.cypherpunks.ru} X.509 certificate authority.
 
-GoGOST is also @command{go get}-able. For example to use
-@command{streebog256} utility:
+@itemize
 
-@example
-$ go get go.cypherpunks.ru/gogost/cmd/streebog256
-@end example
+@item Go's default @code{proxy.golang.org} and @code{sum.golang.org}
+services won't be able to verify @code{go.cypherpunks.ru}'s TLS
+authenticity, because there are no common trust anchors. You can skip
+their usage by setting @env{$GOPRIVATE=go.cypherpunks.ru}.
 
-If you have problems with @code{*.golang.org}'s inability to verify
-authenticity of @code{go.cypherpunks.ru} TLS connection, then you can
-disable their usage by setting @env{GOPRIVATE=go.cypherpunks.ru}. You
-can override CA certificate file path with @env{SSL_CERT_FILE} and
-@env{GIT_SSL_CAINFO} environment variables.
+@item You can (temporarily) override CA bundle during installation with
+@env{$SSL_CERT_FILE} environment variable.
 
-Also you can use @code{replace} feature inside your @file{go.mod}, like:
+@item You can unpack tarball somewhere and use @code{replace} command in
+your local @file{go.mod}:
 
 @example
 require go.cypherpunks.ru/gogost/v5 v@value{VERSION}
 replace go.cypherpunks.ru/gogost/v5 => /path/to/gogost-@value{VERSION}
 @end example
 
+@end itemize
+
 You can obtain development source code with
 @command{git clone git://git.cypherpunks.ru/gogost.git}
 (also you can use @url{https://git.cypherpunks.ru/gogost.git}).