Open
Description
I am able to generate signature with md5 hash algorithm in FIPS mode. According to FIPS 140-2 md5 should not be use for digital signature.
What version of Go are you using (go version
)?
$ go version go version go1.15.4 linux/amd64
Does this issue reproduce with the latest release?
Not checked
What operating system and processor architecture are you using (go env
)?
GOARCH="amd64"
GOHOSTOS="linux"
OS=redhat 7.5
What did you do?
below code I'm using to generate digital signature
data := []byte("Checking fips mode")
hash := md5.New()
hash.Write(data)
bytesData := hash.Sum(nil)
signData, err := rsa.SignPKCS1v15(nil, privKeyObj, crypto.MD5, bytesData[:])
if err != nil {
return "", err
}
I have build this code with go-toolset
GOOS=linux GOARCH=amd64 scl enable go-toolset-1.14 'go build -v -o fips-compliance-check'
When I run generated go binary in FIPS enabled host it should fail but unfortunately code is generating signature
I don't know whether is this issue or not.
Or am I lacking some understanding here?