#go #fips #boringssl
#Вперед #fips #boringssl
Вопрос:
как проверить, включен ли режим fips для двоичного файла в golang dev boring crypto branch? Я не вижу простого способа, кроме внутренних тестов golang
Ответ №1:
Из этого файла:
https://go.googlesource.com/go/ /dev.boringcrypto/src/crypto/tls/fipsonly/fipsonly.go
// Package fipsonly restricts all TLS configuration to FIPS-approved settings.
//
// The effect is triggered by importing the package anywhere in a program, as in:
//
// import _ "crypto/tls/fipsonly"
//
// This package only exists in the dev.boringcrypto branch of Go.
При включении этого оператора импорта в вашу программу он будет компилироваться только в том случае, если вы используете ветку dev.boringcrypto.
Вот тест main.go:
package main
import (
"fmt"
_ "crypto/tls/fipsonly"
)
func main() {
fmt.Println("Hello FIPS")
}
Используя ветку dev.boringcrypto Go:
$ go version
go version go1.12.9b4 linux/amd64
$ go run main.go
Hello FIPS
Использование обычной версии Go:
$ go version
go version go1.12.9 darwin/amd64
$ go run main.go
main.go:4:2: cannot find package "crypto/tls/fipsonly" in any of:
/Users/ray/.gimme/versions/go1.12.9.darwin.amd64/src/crypto/tls/fipsonly (from $GOROOT)
/Users/ray/go/src/crypto/tls/fipsonly (from $GOPATH)