From af728dedf28b67f8cc59085b55bb3863324ab4ef Mon Sep 17 00:00:00 2001 From: Davis Goodin Date: Wed, 8 Nov 2023 10:37:15 -0800 Subject: [PATCH 1/2] Update FIPS README.md: use new syntax for notes --- eng/doc/fips/README.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/eng/doc/fips/README.md b/eng/doc/fips/README.md index e273c8891a2..68d40a98a73 100644 --- a/eng/doc/fips/README.md +++ b/eng/doc/fips/README.md @@ -51,6 +51,7 @@ The Microsoft Go fork provides several ways to configure the crypto backend and There are typically two goals that lead to this document. Creating a FIPS compliant app is one. The other is to comply with internal Microsoft crypto policies that have been set for Go. This table summarizes common configurations and how suitable each one is for these goals. +> [!NOTE] > This section assumes the use of Microsoft Go 1.21 or later. > > 1.21 introduces `systemcrypto`, `requirefips`, and a build-time compatibility check for the selected crypto backend. The Usage sections go into more detail about the differences between 1.19/1.20 and 1.21 in context. See also [the Go 1.21 changelog](#go-121). @@ -83,6 +84,7 @@ Some configurations are invalid and intentionally result in a build error or run The `GOEXPERIMENT` environment variable is used at build time to select a cryptographic library backend. This modifies the Go runtime included in the program to use the specified platform-provided cryptographic library whenever it calls a Go standard library crypto API. The `GOEXPERIMENT` values that pick a crypto backend are: - *Recommended:* `systemcrypto` automatically selects the suggested crypto backend for the target platform + > [!NOTE] > Prior to Go 1.21, this alias is not available and the backend must be selected manually - `opensslcrypto` selects OpenSSL, for Linux - `cngcrypto` selects CNG, for Windows @@ -103,10 +105,12 @@ The crypto backend selection must match the target platform. In a cross-build sc Setting the `goexperiment.