github.com/golang-jwt/jwt/v5 — validation proof

Go’s own github.com/golang-jwt/jwt/v5 test suite, converted to C# by go2cs, built against the converted standard library, run under the Go-semantics test host, and compared verdict for verdict against a clean go test -json baseline of the same sources. This page is generated by the converter from that comparison, and written beside the conversion: it is not a row of go2cs’s standard-library roster.

Validated 2026-10-09

186 matched · 0 disclosed — Go 1.24.13, linux/amd64, converted package src/github.com/golang-jwt/jwt/v5.

Measured at Release (tiered JIT off), oracle go version go1.24.13 linux/amd64, with no controlling terminal.

Both sides were built with -tags purego,math_big_pure_go,safe.

Input digest sha256-9647af3692e22d534f884f8a59f731746d35bc4c31966ad54c405af23b24eb78: the package’s Go sources, conversion options, target and converter, as its project records them (GoInputDigest).

Verdicts

Test go test go2cs
TestECDSASign pass pass
TestECDSAVerify pass pass
TestEd25519Sign pass pass
TestEd25519Verify pass pass
TestGetSignatureAfterSigning pass pass
TestHMACSign pass pass
TestHMACVerify pass pass
TestMapClaimsVerifyExpiresAtExpire pass pass
TestMapClaims_parseString pass pass
TestMapClaims_parseString/correct_key_type pass pass
TestMapClaims_parseString/missing_key pass pass
TestMapClaims_parseString/wrong_key_type pass pass
TestMapclaimsVerifyExpiresAtInvalidTypeString pass pass
TestMapclaimsVerifyIssuedAtInvalidTypeString pass pass
TestMapclaimsVerifyNotBeforeInvalidTypeString pass pass
TestNoneSign pass pass
TestNoneVerify pass pass
TestNumericDate pass pass
TestNumericDate_MarshalJSON pass pass
TestParser_Parse pass pass
TestParser_Parse/ECDSA_signing_method_not_accepted pass pass
TestParser_Parse/JSON_Number pass pass
TestParser_Parse/JSON_Number_-_basic_expired pass pass
TestParser_Parse/JSON_Number_-_basic_nbf pass pass
TestParser_Parse/JSON_Number_-_expired_and_nbf pass pass
TestParser_Parse/RFC7519_Claims pass pass
TestParser_Parse/RFC7519_Claims_-_multiple_aud pass pass
TestParser_Parse/RFC7519_Claims_-_multiple_aud_with_wrong_types pass pass
TestParser_Parse/RFC7519_Claims_-_nbf_with_120s_skew pass pass
TestParser_Parse/RFC7519_Claims_-_nbf_with_60s_skew pass pass
TestParser_Parse/RFC7519_Claims_-_single_aud pass pass
TestParser_Parse/RFC7519_Claims_-_single_aud_with_wrong_type pass pass
TestParser_Parse/SkipClaimsValidation_during_token_parsing pass pass
TestParser_Parse/basic pass pass
TestParser_Parse/basic_errorkey pass pass
TestParser_Parse/basic_expired pass pass
TestParser_Parse/basic_invalid pass pass
TestParser_Parse/basic_nbf pass pass
TestParser_Parse/basic_nokey pass pass
TestParser_Parse/basic_nokeyfunc pass pass
TestParser_Parse/bearer_in_JWT pass pass
TestParser_Parse/custom_claims_with_JSON_Data_Types pass pass
TestParser_Parse/empty_verification_key_set pass pass
TestParser_Parse/expired_and_nbf pass pass
TestParser_Parse/invalid_JSON_claim pass pass
TestParser_Parse/invalid_JWT pass pass
TestParser_Parse/invalid_signing_method pass pass
TestParser_Parse/multiple_keys,_first_matches pass pass
TestParser_Parse/multiple_keys,_last_matches pass pass
TestParser_Parse/multiple_keys_not_[]interface{}_type,_all_match pass pass
TestParser_Parse/multiple_nokey pass pass
TestParser_Parse/public_keys_slice,_not_allowed pass pass
TestParser_Parse/rejects_if_exp_is_required_but_missing pass pass
TestParser_Parse/valid_ECDSA_signing_method pass pass
TestParser_Parse/valid_RSA_signing_method pass pass
TestParser_Parse/zero_length_key_list pass pass
TestParser_ParseUnverified pass pass
TestParser_ParseUnverified/ECDSA_signing_method_not_accepted pass pass
TestParser_ParseUnverified/JSON_Number pass pass
TestParser_ParseUnverified/JSON_Number_-_basic_expired pass pass
TestParser_ParseUnverified/JSON_Number_-_basic_nbf pass pass
TestParser_ParseUnverified/JSON_Number_-_expired_and_nbf pass pass
TestParser_ParseUnverified/RFC7519_Claims pass pass
TestParser_ParseUnverified/RFC7519_Claims_-_multiple_aud pass pass
TestParser_ParseUnverified/RFC7519_Claims_-_nbf_with_120s_skew pass pass
TestParser_ParseUnverified/RFC7519_Claims_-_nbf_with_60s_skew pass pass
TestParser_ParseUnverified/RFC7519_Claims_-_single_aud pass pass
TestParser_ParseUnverified/SkipClaimsValidation_during_token_parsing pass pass
TestParser_ParseUnverified/basic pass pass
TestParser_ParseUnverified/basic_errorkey pass pass
TestParser_ParseUnverified/basic_expired pass pass
TestParser_ParseUnverified/basic_invalid pass pass
TestParser_ParseUnverified/basic_nbf pass pass
TestParser_ParseUnverified/basic_nokey pass pass
TestParser_ParseUnverified/basic_nokeyfunc pass pass
TestParser_ParseUnverified/custom_claims_with_JSON_Data_Types pass pass
TestParser_ParseUnverified/empty_verification_key_set pass pass
TestParser_ParseUnverified/expired_and_nbf pass pass
TestParser_ParseUnverified/invalid_signing_method pass pass
TestParser_ParseUnverified/multiple_keys,_first_matches pass pass
TestParser_ParseUnverified/multiple_keys,_last_matches pass pass
TestParser_ParseUnverified/multiple_keys_not_[]interface{}_type,_all_match pass pass
TestParser_ParseUnverified/multiple_nokey pass pass
TestParser_ParseUnverified/public_keys_slice,_not_allowed pass pass
TestParser_ParseUnverified/rejects_if_exp_is_required_but_missing pass pass
TestParser_ParseUnverified/valid_ECDSA_signing_method pass pass
TestParser_ParseUnverified/valid_RSA_signing_method pass pass
TestParser_ParseUnverified/zero_length_key_list pass pass
TestRSAKeyParsing pass pass
TestRSAPSSSaltLengthCompatibility pass pass
TestRSAPSSSign pass pass
TestRSAPSSVerify pass pass
TestRSASign pass pass
TestRSAVerify pass pass
TestRSAVerifyWithPreParsedPrivateKey pass pass
TestRSAWithPreParsedPrivateKey pass pass
TestSetPadding pass pass
TestSetPadding/Error_for_example_padded_token_with_padding_disabled pass pass
TestSetPadding/Error_for_non-padded_token_with_padding_disabled,_strict_decode,_tweaked_signature pass pass
TestSetPadding/Error_for_padded_token_with_padding_disabled pass pass
TestSetPadding/Error_for_padded_token_with_padding_enabled,_strict_decode,_tweaked_signature pass pass
TestSetPadding/Validated_example_padded_token_with_padding_enabled pass pass
TestSetPadding/Validated_non-padded_token_with_padding_disabled pass pass
TestSetPadding/Validated_non-padded_token_with_padding_disabled,_non-strict_decode,_non-tweaked_signature pass pass
TestSetPadding/Validated_non-padded_token_with_padding_disabled,_non-strict_decode,_tweaked_signature pass pass
TestSetPadding/Validated_non-padded_token_with_padding_disabled,_strict_decode,_non-tweaked_signature pass pass
TestSetPadding/Validated_non-padded_token_with_padding_enabled pass pass
TestSetPadding/Validated_padded_token_with_padding_enabled pass pass
TestSetPadding/Validated_padded_token_with_padding_enabled,_non-strict_decode,_non-tweaked_signature pass pass
TestSetPadding/Validated_padded_token_with_padding_enabled,_non-strict_decode,_tweaked_signature pass pass
TestSetPadding/Validated_padded_token_with_padding_enabled,_strict_decode,_non-tweaked_signature pass pass
TestSingleArrayMarshal pass pass
TestSplitToken pass pass
TestSplitToken/invalid_empty_token pass pass
TestSplitToken/invalid_token_with_extra_delimiter pass pass
TestSplitToken/invalid_token_with_just_delimiters_and_extra_part pass pass
TestSplitToken/invalid_token_with_many_delimiters pass pass
TestSplitToken/invalid_token_with_one_part_only pass pass
TestSplitToken/invalid_token_with_two_parts_only pass pass
TestSplitToken/valid_token_with_all_parts_empty pass pass
TestSplitToken/valid_token_with_empty_parts pass pass
TestSplitToken/valid_token_with_three_parts pass pass
TestToken_SigningString pass pass
TestToken_SigningString/#00 pass pass
TestVerifyAud pass pass
TestVerifyAud/Empty_String_Aud_with_match_not_required pass pass
TestVerifyAud/Empty_String_Aud_with_match_not_required#01 pass pass
TestVerifyAud/Empty_String_Aud_without_match_not_required pass pass
TestVerifyAud/Empty_String_Aud_without_match_required pass pass
TestVerifyAud/Empty_[]String_Aud_with_match_not_required pass pass
TestVerifyAud/Empty_[]String_Aud_without_match_required pass pass
TestVerifyAud/Empty_[]String_Aud_without_match_required#01 pass pass
TestVerifyAud/Empty_[]interface{}_Aud_without_match_required pass pass
TestVerifyAud/Empty_interface{}_Aud_without_match_not_required pass pass
TestVerifyAud/Nil_String_Aud_with_match_not_required pass pass
TestVerifyAud/String_Aud_matching_required pass pass
TestVerifyAud/String_Aud_with_match_not_required pass pass
TestVerifyAud/String_Aud_without_match_not_required pass pass
TestVerifyAud/String_Aud_without_match_required pass pass
TestVerifyAud/[]String_Aud_with_[]match_all_required pass pass
TestVerifyAud/[]String_Aud_with_[]match_any_required pass pass
TestVerifyAud/[]String_Aud_with_match_not_required pass pass
TestVerifyAud/[]String_Aud_with_match_required pass pass
TestVerifyAud/[]String_Aud_without_match_not_required pass pass
TestVerifyAud/[]String_Aud_without_match_required pass pass
TestVerifyAud/[]interface{}_Aud_int_with_match_required pass pass
TestVerifyAud/[]interface{}_Aud_with_match_but_invalid_types pass pass
TestVerifyAud/[]interface{}_Aud_with_match_required pass pass
Test_Validator_Validate pass pass
Test_Validator_Validate/custom_validator pass pass
Test_Validator_Validate/expected_iss_is_missing pass pass
Test_Validator_Validate/expected_iss_mismatch pass pass
Test_Validator_Validate/expected_sub_is_missing pass pass
Test_Validator_Validate/expected_sub_mismatch pass pass
Test_Validator_requireNotBefore pass pass
Test_Validator_requireNotBefore/good_claim_with_nbf pass pass
Test_Validator_requireNotBefore/good_claim_without_nbf pass pass
Test_Validator_requireNotBefore/token_nbf_time_is_in_future pass pass
Test_Validator_verifyAudience pass pass
Test_Validator_verifyAudience/fail_when_audience_matches_with_all_values pass pass
Test_Validator_verifyAudience/fail_when_audience_matches_with_one_value pass pass
Test_Validator_verifyAudience/fail_when_audience_missing pass pass
Test_Validator_verifyAudience/fail_when_audience_not_matching pass pass
Test_Validator_verifyAudience/fail_when_audience_not_matching_all_values pass pass
Test_Validator_verifyAudience/fail_without_audience_when_expecting_all_aud_matches pass pass
Test_Validator_verifyAudience/fail_without_audience_when_expecting_one_aud_match pass pass
Test_Validator_verifyAudience/good_when_audience_matches pass pass
Test_Validator_verifyExpiresAt pass pass
Test_Validator_verifyExpiresAt/claims_with_invalid_type pass pass
Test_Validator_verifyExpiresAt/good_claim pass pass
Test_Validator_verifyIssuedAt pass pass
Test_Validator_verifyIssuedAt/good_claim_with_iat pass pass
Test_Validator_verifyIssuedAt/good_claim_without_iat pass pass
Test_Validator_verifyIssuer pass pass
Test_Validator_verifyIssuer/claims_with_invalid_type pass pass
Test_Validator_verifyIssuer/good_claim pass pass
Test_Validator_verifySubject pass pass
Test_Validator_verifySubject/claims_with_invalid_type pass pass
Test_Validator_verifySubject/good_claim pass pass
Test_joinErrors pass pass
Test_joinErrors/multiple_errors pass pass
Test_newError pass pass
Test_newError/single_error pass pass
Test_newError/two_errors pass pass
Test_newError/two_errors,_no_detail pass pass
Test_newError/two_errors,_no_detail_and_join_error pass pass

Excluded declarations

Declarations filtered from both sides of the comparison, and therefore not claimed above: Benchmark, Fuzz and Example declarations the converted host does not execute, plus any test requiring a capability the managed runtime does not provide — a testing member the host has not implemented, or a platform behavior it provably cannot reproduce. Each is named with the capability it needs.