Skip to content

crypto/tls: Permit recently FIPS-approved protocols/algorithms #62372

Description

@reedloden

What version of Go are you using (go version)?

$ go version
go version go1.21.0 darwin/arm64

Does this issue reproduce with the latest release?

Yes

What did you do?

When in FIPS-mode, BoringCrypto does not support recently permitted protocols/algorithms.

What did you expect to see?

Support for TLS v1.3 (permitted by NIST SP 800-52 Rev. 2), including cipher suites TLS_AES_128_GCM_SHA256 and TLS_AES_256_GCM_SHA384. See also GSA IT Security Procedural Guide: SSL/TLS Implementation CIO-IT Security-14-69. Note that TLS 1.3 support is required starting January 1, 2024.

Support for Ed25519 signature algorithm (permitted by FIPS 186-5).

FIPS 140-3 made some changes that permitted these new protocols/algorithms.

Note that BoringSSL fips-20220613 branch already supports TLS 1.3 and some other improvements by way of SSL_CTX_set_compliance_policy(ssl_compliance_policy_fips_202205). This helps bring BoringCrypto into alignment from the TLS perspective.

What did you see instead?

Only TLS v1.2 supported. No support for TLS v1.3.

No support for Ed25519 as a signature algorithm.

Metadata

Metadata

Assignees

No one assigned

    Labels

    FrozenDueToAgeNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions