'-bash: cfssl: command not found

When I tried to install cfssl with this command:

go get -u github.com/cloudflare/cfssl/cmd/cfssl

I received following output:

# github.com/cloudflare/cfssl/crypto/pkcs7
go_packages/src/github.com/cloudflare/cfssl/crypto/pkcs7/pkcs7.go:141: pkcs7.ContentType.String undefined (type asn1.ObjectIdentifier has no field or method String)
# github.com/cloudflare/cfssl/helpers/derhelpers
go_packages/src/github.com/cloudflare/cfssl/helpers/derhelpers/derhelpers.go:16: undefined: crypto.Signer
# github.com/cloudflare/cfssl/csr
go_packages/src/github.com/cloudflare/cfssl/csr/csr.go:191: undefined: x509.CertificateRequest
go_packages/src/github.com/cloudflare/cfssl/csr/csr.go:204: undefined: x509.CreateCertificateRequest
# golang.org/x/crypto/ocsp
go_packages/src/golang.org/x/crypto/ocsp/ocsp.go:494: undefined: crypto.Signer
# github.com/cloudflare/cf-tls/tls
go_packages/src/github.com/cloudflare/cf-tls/tls/handshake_client.go:431: undefined: crypto.Signer

I really have no clue whether this is harmful or not and has something to do with the usage of this tool. However when I try to use it, I receive this error:

-bash: cfssl: Command not found.

I never used go but I wanted to use this tool. Do you guys know why this is not working as expected?

Edit

output of go env

GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/ubuntu/go"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
TERM="dumb"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CXX="g++"
CGO_ENABLED="1"

output of go version

go version go1.2.1 linux/amd64

I really don't know why this is the case because I installed this version.

go


Solution 1:[1]

Install Go lang version latest.

1.yum update

2.wget https://dl.google.com/go/go1.12.linux-amd64.tar.gz

3.tar -xzf go1.12.linux-amd64.tar.gz

4.mv go /usr/local

5.set up environment variables.

 5.1.GOROOT is the location where Go package is installed on your system

   export GOROOT=/usr/local/go

 5.2.GOPATH is the location of your work directoryexport 

  export GOPATH=$HOME/your project location

 5.3.Now set the PATH variable to access go binary system wide

   export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

6.verify

6.1.go version

6.2.go env

CFSSL

1.git clone https://github.com/cloudflare/cfssl.git $GOPATH/src/github.com/cloudflare/cfssl

2.cd $GOPATH/src/github.com/cloudflare/cfssl

3.make

4.yum install tree

6.tree bin

7.go get -u github.com/cloudflare/cfssl/cmd/...

Solution 2:[2]

You can use these commmand to install cfssl and cfssljson on last version. You need only have wget commmand installed on your OS and type these cmd:

yum -y -q install wget
VERSION=$(curl --silent "https://api.github.com/repos/cloudflare/cfssl/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
VNUMBER=${VERSION#"v"}
wget https://github.com/cloudflare/cfssl/releases/download/${VERSION}/cfssl_${VNUMBER}_linux_amd64 -O cfssl
wget https://github.com/cloudflare/cfssl/releases/download/${VERSION}/cfssljson_${VNUMBER}_linux_amd64 -O cfssljson
chmod +x cfssl
chmod +x cfssljson
mv cfssl /usr/local/bin
mv cfssljson /usr/local/bin

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Ghislain Adon