]> Cypherpunks.ru repositories - gogost.git/blobdiff - INSTALL
Mention CACert, GOPRIVATE and go.mod-replace during installation
[gogost.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 80f01814e0b3fc56d42e51c6d9bfebe9c6448f59..06e6e6725fdd95162c57937c42cfb042b720a63a 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,45 +1,45 @@
 Preferable way is to download tarball with the signature from official
 website and, for example, run tests with benchmarks:
 
-    % wget http://gogost.cypherpunks.ru/gogost-1.1.tar.xz
-    % wget http://gogost.cypherpunks.ru/gogost-1.1.tar.xz.sig
-    % gpg --verify gogost-1.1.tar.xz.sig gogost-1.1.tar.xz
-    % xz -d < gogost-1.1.tar.xz | tar xf -
-    % make -C gogost-1.1 all bench
-    % echo hello world | ./gogost-1.1/streebog256
+    $ wget http://gogost.cypherpunks.ru/gogost-4.1.0.tar.xz
+    $ wget http://gogost.cypherpunks.ru/gogost-4.1.0.tar.xz.sig
+    $ gpg --verify gogost-4.1.0.tar.xz.sig gogost-4.1.0.tar.xz
+    $ xz -d < gogost-4.1.0.tar.xz | tar xf -
+    $ make -C gogost-4.1.0 all bench
+    $ echo hello world | ./gogost-4.1.0/streebog256
     f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
 
 And then you can include its source code in your project for example
 like this:
 
-    % mkdir -p myproj/src
-    % export GOPATH=$PWD/myproj
-    % cd myproj/src
-    % cat > main.go <<EOF
+    $ mkdir -p myproj/src
+    $ cp -r gogost-4.1.0/src/go.cypherpunks.ru myproj/src
+    $ export GOPATH=$PWD/myproj
+    $ cd myproj/src
+    $ cat > main.go <<EOF
     package main
 
     import (
         "encoding/hex"
         "fmt"
 
-        "cypherpunks.ru/gogost/gost34112012256"
+        "go.cypherpunks.ru/gogost/v4/gost34112012256"
     )
 
     func main() {
         h := gost34112012256.New()
-        h.Write([]byte("hello world"))
+        h.Write([]byte("hello world\n"))
         fmt.Println(hex.EncodeToString(h.Sum(nil)))
     }
     EOF
-    % cp -r ../../gogost-1.1/src/cypherpunks.ru .
-    % go run main.go
-    c600fd9dd049cf8abd2f5b32e840d2cb0e41ea44de1c155dcd88dc84fe58a855
+    $ go run main.go
+    f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
 
 You have to verify downloaded tarballs integrity and authenticity to be
 sure that you retrieved trusted and untampered software. GNU Privacy
 Guard is used for that purpose.
 
-For the very first time it it necessary to get signing public key and
+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.
 
@@ -48,7 +48,21 @@ resources.
     uid   GoGOST releases <gogost at cypherpunks dot ru>
 
     Look in PUBKEY.asc file.
-    % gpg --keyserver hkp://keys.gnupg.net/ --recv-keys 0x82343436696FC85A
-    % gpg --auto-key-locate dane --locate-keys gogost at cypherpunks dot ru
-    % gpg --auto-key-locate wkd --locate-keys gogost at cypherpunks dot ru
-    % gpg --auto-key-locate pka --locate-keys gogost at cypherpunks dot ru
+    $ gpg --auto-key-locate dane --locate-keys gogost at cypherpunks dot ru
+    $ gpg --auto-key-locate wkd --locate-keys gogost at cypherpunks dot ru
+
+GoGOST is also go-get-able. For example to use streebog256 utility:
+
+    $ go get go.cypherpunks.ru/gogost/cmd/streebog256
+
+go.cypherpunks.ru uses CACert.org certificate authority, that is not
+included by default in some operating system distributions and probably
+you have to install it in your system, because "go get" uses HTTPS
+connections. If you have issues using either sum.golang.org or
+proxy.golang.org, then you can disable their usage with
+GOPRIVATE=go.cypherpunks.ru/gogost environment variable.
+
+Also you can use "replace" feature inside your go.mod, like:
+
+    require go.cypherpunks.ru/gogost/v4 v4.1.0
+    replace go.cypherpunks.ru/gogost/v4 => /home/stargrave/gogost-4.1.0/src/go.cypherpunks.ru/gogost/v4