crypto/x509 — validation proof

Go’s own crypto/x509 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 — it is the evidence behind the crypto/x509 row in Validated Test Packages.

Validated 2026-08-26 · converter ee5682818

341 matched · 0 disclosed — Go 1.23.12, windows/amd64, converted package src/core/crypto/x509.

Both runtimes skip 17 of the matched tests identically.

Verdicts

Test go test go2cs
TestASN1BitLength pass pass
TestAdditionFieldsInGeneralSubtree pass pass
TestAuthKeyIdOptional pass pass
TestBadIPMask pass pass
TestBadNamesInConstraints pass pass
TestBadNamesInSANs pass pass
TestCRLCreation pass pass
TestCRLWithoutExpiry pass pass
TestCertPoolEqual pass pass
TestCertPoolEqual/one_empty_pool,_one_populated_pool pass pass
TestCertPoolEqual/one_empty_system_pool,_one_populated_system_pool pass pass
TestCertPoolEqual/one_nil_pool,_one_empty_pool pass pass
TestCertPoolEqual/two_empty_pools pass pass
TestCertPoolEqual/two_empty_system_pools pass pass
TestCertPoolEqual/two_nil_pools pass pass
TestCertPoolEqual/two_populated_pools pass pass
TestCertPoolEqual/two_populated_pools,_different_content pass pass
TestCertPoolEqual/two_populated_pools,_different_content#01 pass pass
TestCertPoolEqual/two_populated_system_pools pass pass
TestCertificateEqualOnNil pass pass
TestCertificateOIDPolicies pass pass
TestCertificateParse pass pass
TestCertificatePoliciesGODEBUG pass pass
TestCertificateRequestOverrides pass pass
TestCertificateRequestRoundtripFields pass pass
TestConstraintCases pass pass
TestConstraintCases/#0 pass pass
TestConstraintCases/#1 pass pass
TestConstraintCases/#10 pass pass
TestConstraintCases/#11 pass pass
TestConstraintCases/#12 pass pass
TestConstraintCases/#13 pass pass
TestConstraintCases/#14 pass pass
TestConstraintCases/#15 pass pass
TestConstraintCases/#16 pass pass
TestConstraintCases/#17 pass pass
TestConstraintCases/#18 pass pass
TestConstraintCases/#19 pass pass
TestConstraintCases/#2 pass pass
TestConstraintCases/#20 pass pass
TestConstraintCases/#21 pass pass
TestConstraintCases/#22 pass pass
TestConstraintCases/#23 pass pass
TestConstraintCases/#24 pass pass
TestConstraintCases/#25 pass pass
TestConstraintCases/#26 pass pass
TestConstraintCases/#27 pass pass
TestConstraintCases/#28 pass pass
TestConstraintCases/#29 pass pass
TestConstraintCases/#3 pass pass
TestConstraintCases/#30 pass pass
TestConstraintCases/#31 pass pass
TestConstraintCases/#32 pass pass
TestConstraintCases/#33 pass pass
TestConstraintCases/#34 pass pass
TestConstraintCases/#35 pass pass
TestConstraintCases/#36 pass pass
TestConstraintCases/#37 pass pass
TestConstraintCases/#38 pass pass
TestConstraintCases/#39 pass pass
TestConstraintCases/#4 pass pass
TestConstraintCases/#40 pass pass
TestConstraintCases/#41 pass pass
TestConstraintCases/#42 pass pass
TestConstraintCases/#43 pass pass
TestConstraintCases/#44 pass pass
TestConstraintCases/#45 pass pass
TestConstraintCases/#46 pass pass
TestConstraintCases/#47 pass pass
TestConstraintCases/#48 pass pass
TestConstraintCases/#49 pass pass
TestConstraintCases/#5 pass pass
TestConstraintCases/#50 pass pass
TestConstraintCases/#51 pass pass
TestConstraintCases/#52 pass pass
TestConstraintCases/#53 pass pass
TestConstraintCases/#54 pass pass
TestConstraintCases/#55 pass pass
TestConstraintCases/#56 pass pass
TestConstraintCases/#57 pass pass
TestConstraintCases/#58 pass pass
TestConstraintCases/#59 pass pass
TestConstraintCases/#6 pass pass
TestConstraintCases/#60 pass pass
TestConstraintCases/#61 pass pass
TestConstraintCases/#62 pass pass
TestConstraintCases/#63 pass pass
TestConstraintCases/#64 pass pass
TestConstraintCases/#65 pass pass
TestConstraintCases/#66 pass pass
TestConstraintCases/#67 pass pass
TestConstraintCases/#68 pass pass
TestConstraintCases/#69 pass pass
TestConstraintCases/#7 pass pass
TestConstraintCases/#70 pass pass
TestConstraintCases/#71 pass pass
TestConstraintCases/#72 pass pass
TestConstraintCases/#73 pass pass
TestConstraintCases/#74 pass pass
TestConstraintCases/#75 pass pass
TestConstraintCases/#76 pass pass
TestConstraintCases/#77 pass pass
TestConstraintCases/#78 pass pass
TestConstraintCases/#79 pass pass
TestConstraintCases/#8 pass pass
TestConstraintCases/#80 pass pass
TestConstraintCases/#81 pass pass
TestConstraintCases/#82 pass pass
TestConstraintCases/#83 pass pass
TestConstraintCases/#84 pass pass
TestConstraintCases/#85 pass pass
TestConstraintCases/#86 pass pass
TestConstraintCases/#9 pass pass
TestCreateCertificateBrokenSigner pass pass
TestCreateCertificateLegacy pass pass
TestCreateCertificateRequest pass pass
TestCreateNegativeSerial pass pass
TestCreateRevocationList pass pass
TestCreateRevocationList/invalid_signature_algorithm pass pass
TestCreateRevocationList/issuer_doesn't_have_crlSign_key_usage_bit_set pass pass
TestCreateRevocationList/issuer_missing_SubjectKeyId pass pass
TestCreateRevocationList/long_Number pass pass
TestCreateRevocationList/long_Number_(20_bytes,_MSB_set) pass pass
TestCreateRevocationList/nextUpdate_before_thisUpdate pass pass
TestCreateRevocationList/nil_Number pass pass
TestCreateRevocationList/nil_issuer pass pass
TestCreateRevocationList/nil_template pass pass
TestCreateRevocationList/valid pass pass
TestCreateRevocationList/valid,_Ed25519_key pass pass
TestCreateRevocationList/valid,_deprecated_entries_with_extension pass pass
TestCreateRevocationList/valid,_empty_list pass pass
TestCreateRevocationList/valid,_extra_entry_extension pass pass
TestCreateRevocationList/valid,_extra_extension pass pass
TestCreateRevocationList/valid,_non-default_signature_algorithm pass pass
TestCreateRevocationList/valid,_reason_code pass pass
TestCreateRevocationList/valid_CA_with_utf8_Subject_fields_including_Email,_empty_list pass pass
TestCreateSelfSignedCertificate pass pass
TestCriticalFlagInCSRRequestedExtensions pass pass
TestCriticalNameConstraintWithUnknownType pass pass
TestDecrypt pass pass
TestDisableSHA1ForCertOnly pass pass
TestDuplicateAttributesCSR pass pass
TestDuplicateExtensionsCSR pass pass
TestDuplicateExtensionsCert pass pass
TestECDSA pass pass
TestECMismatchKeyFormat pass pass
TestEKUEnforcement pass pass
TestEKUEnforcement/invalid,_intermediate_has_no_EKU_and_no_nested_path pass pass
TestEKUEnforcement/invalid,_intermediate_has_unknown_EKU pass pass
TestEKUEnforcement/invalid,_ladder pass pass
TestEKUEnforcement/invalid,_serverAuth_not_nested pass pass
TestEKUEnforcement/valid,_full_chain pass pass
TestEKUEnforcement/valid,_intermediate_has_no_EKU pass pass
TestEKUEnforcement/valid,_only_leaf_has_EKU pass pass
TestEKUEnforcement/valid,_two_EKUs,_one_path pass pass
TestEd25519SelfSigned pass pass
TestEmptyNameConstraints pass pass
TestEmptySubject pass pass
TestEncrypt pass pass
TestFallback pass pass
TestFallback/empty_systemRoots pass pass
TestFallback/empty_systemRoots_system_pool pass pass
TestFallback/filled_systemRoot_system_pool,_force_fallback pass pass
TestFallback/filled_systemRoots pass pass
TestFallback/filled_systemRoots,_force_fallback pass pass
TestFallback/filled_systemRoots_system_pool pass pass
TestFallback/nil_systemRoots pass pass
TestFallbackPanic pass pass
TestGoVerify pass pass
TestGoVerify/#00 pass pass
TestGoVerify/AKIDNoSKID pass pass
TestGoVerify/CriticalExtIntermediate pass pass
TestGoVerify/CriticalExtLeaf pass pass
TestGoVerify/EKULeaf pass pass
TestGoVerify/EKULeafExplicit pass pass
TestGoVerify/EKULeafValid pass pass
TestGoVerify/ExcludedNames pass pass
TestGoVerify/Expired pass pass
TestGoVerify/HostnameMismatch pass pass
TestGoVerify/IPMissing pass pass
TestGoVerify/IgnoreCNWithSANs pass pass
TestGoVerify/InvalidHash pass pass
TestGoVerify/LeafInRoots pass pass
TestGoVerify/LeafInRootsInvalid pass pass
TestGoVerify/MissingIntermediate pass pass
TestGoVerify/MixedCase pass pass
TestGoVerify/MultipleConstraints pass pass
TestGoVerify/RootInIntermediates pass pass
TestGoVerify/SHA-384 pass pass
TestGoVerify/Valid pass pass
TestGoVerify/ValidCN pass pass
TestGoVerify/Valid_(fqdn) pass pass
TestGoVerify/X509v1Intermediate pass pass
TestGoVerify/dnssec-exp pass pass
TestGoVerify/dnssec-exp/AnyEKU pass pass
TestGoVerify/dnssec-exp/RootInIntermediates pass pass
TestGob pass pass
TestHybridPool pass pass
TestIA5SANEnforcement pass pass
TestIA5SANEnforcement/marshal:_unicode_dNSName pass pass
TestIA5SANEnforcement/marshal:_unicode_rfc822Name pass pass
TestIA5SANEnforcement/marshal:_unicode_uniformResourceIdentifier pass pass
TestISOOIDInCertificate pass pass
TestImports pass pass
TestIncompleteBlock pass pass
TestInsecureAlgorithmErrorString pass pass
TestInvalidOID pass pass
TestIssue51759 skip skip
TestLargeOID pass pass
TestLongChain pass pass
TestMD5 pass pass
TestMarshalInvalidPublicKey pass pass
TestMarshalRSAPrivateKey pass pass
TestMarshalRSAPublicKey pass pass
TestMatchHostnames pass pass
TestMatchIP pass pass
TestMaxPathLen pass pass
TestMaxPathLenNotCA pass pass
TestMismatchedSignatureAlgorithm pass pass
TestMultipleRDN pass pass
TestMultipleURLsInCRLDP pass pass
TestNameConstraints pass pass
TestNoAuthorityKeyIdInSelfSignedCert pass pass
TestNoSubjectKeyIdInCert pass pass
TestOID pass pass
TestOIDEqual pass pass
TestOIDEqualASN1OID pass pass
TestOIDMarshal pass pass
TestOIDUnmarshalBinary pass pass
TestOmitEmptyExtensions pass pass
TestPKCS1MismatchKeyFormat pass pass
TestPKCS1MismatchPublicKeyFormat pass pass
TestPKCS8 pass pass
TestPKCS8MismatchKeyFormat pass pass
TestPKIXMismatchPublicKeyFormat pass pass
TestPKIXNameString pass pass
TestParseASN1String pass pass
TestParseASN1String/BMPString pass pass
TestParseASN1String/BMPString_(invalid_length) pass pass
TestParseASN1String/IA5String pass pass
TestParseASN1String/IA5String_(invalid) pass pass
TestParseASN1String/NumericString pass pass
TestParseASN1String/NumericString_(invalid) pass pass
TestParseASN1String/PrintableString pass pass
TestParseASN1String/PrintableString_(invalid) pass pass
TestParseASN1String/T61String pass pass
TestParseASN1String/UTF8String pass pass
TestParseASN1String/UTF8String_(invalid) pass pass
TestParseCertificateRawEquals pass pass
TestParseCertificateRequest pass pass
TestParseCertificateWithDSASignatureAlgorithm pass pass
TestParseCertificateWithDsaPublicKey pass pass
TestParseDERCRL pass pass
TestParseECPrivateKey pass pass
TestParseNegativeSerial pass pass
TestParsePEMCRL pass pass
TestParsePKCS1PrivateKey pass pass
TestParsePKIXPublicKey pass pass
TestParsePKIXPublicKey/Ed25519 pass pass
TestParsePKIXPublicKey/RSA pass pass
TestParsePKIXPublicKey/X25519 pass pass
TestParseRevocationList pass pass
TestParseUniqueID pass pass
TestPathBuilding pass pass
TestPathBuilding/all_paths pass pass
TestPathBuilding/bad_EKU pass pass
TestPathBuilding/bad_EKU#01 pass pass
TestPathBuilding/code_constrained_root,_one_invalid_path pass pass
TestPathBuilding/code_constrained_root,_two_paths,_one_valid pass pass
TestPathBuilding/constrained_intermediate,_non-matching_SAN pass pass
TestPathBuilding/constrained_root,_invalid_intermediate pass pass
TestPathBuilding/ignore_cross-sig_loops pass pass
TestPathBuilding/ignore_invalid_EKU_path pass pass
TestPathBuilding/leaf_with_same_subject,_key,_as_parent_but_with_SAN pass pass
TestPathologicalChain pass pass
TestPlatformVerifier skip skip
TestRDNSequenceString pass pass
TestRFC2821Parsing pass pass
TestRSAMissingNULLParameters pass pass
TestRSAPSAParameters pass pass
TestRSAPSSSelfSigned pass pass
TestRejectCriticalAIA pass pass
TestRejectCriticalAKI pass pass
TestRejectCriticalSKI pass pass
TestRevocationListCheckSignatureFrom pass pass
TestRevocationListCheckSignatureFrom/invalid_issuer,_no_basic_constraints/ca pass pass
TestRevocationListCheckSignatureFrom/invalid_issuer,_unsupported_public_key_type pass pass
TestRevocationListCheckSignatureFrom/invalid_issuer,_wrong_key_usage pass pass
TestRevocationListCheckSignatureFrom/valid pass pass
TestRevocationListCheckSignatureFrom/valid,_key_usage_set pass pass
TestRevocationListCheckSignatureFrom/wrong_key pass pass
TestSHA1 pass pass
TestSigAlgMismatch pass pass
TestSystemCertPool skip skip
TestSystemRootsError skip skip
TestSystemRootsErrorUnwrap pass pass
TestSystemVerify pass pass
TestSystemVerify/#00 skip skip
TestSystemVerify/AKIDNoSKID skip skip
TestSystemVerify/CriticalExtIntermediate skip skip
TestSystemVerify/CriticalExtLeaf skip skip
TestSystemVerify/EKULeaf pass pass
TestSystemVerify/EKULeafExplicit pass pass
TestSystemVerify/EKULeafValid pass pass
TestSystemVerify/ExcludedNames skip skip
TestSystemVerify/Expired pass pass
TestSystemVerify/HostnameMismatch pass pass
TestSystemVerify/IPMissing pass pass
TestSystemVerify/IgnoreCNWithSANs skip skip
TestSystemVerify/InvalidHash pass pass
TestSystemVerify/LeafInRoots skip skip
TestSystemVerify/LeafInRootsInvalid skip skip
TestSystemVerify/MissingIntermediate skip skip
TestSystemVerify/MixedCase pass pass
TestSystemVerify/MultipleConstraints pass pass
TestSystemVerify/RootInIntermediates pass pass
TestSystemVerify/SHA-384 pass pass
TestSystemVerify/Valid pass pass
TestSystemVerify/ValidCN skip skip
TestSystemVerify/Valid_(fqdn) pass pass
TestSystemVerify/X509v1Intermediate skip skip
TestSystemVerify/dnssec-exp skip skip
TestSystemVerify/dnssec-exp/AnyEKU pass pass
TestSystemVerify/dnssec-exp/RootInIntermediates skip skip
TestUnknownAuthorityError pass pass
TestUnknownAuthorityError/self-signed,_cn pass pass
TestUnknownAuthorityError/self-signed,_no_cn,_no_org pass pass
TestUnknownAuthorityError/self-signed,_no_cn,_org pass pass
TestUnknownExtKey pass pass
TestValidHostname pass pass
TestVerifyBareWildcard pass pass
TestVerifyCertificateWithDSASignature pass pass
TestVerifyEKURootAsLeaf pass pass
TestVerifyEKURootAsLeaf/root_EKUs_[]x509.ExtKeyUsage(nil),_verify_EKUs_[]x509.ExtKeyUsage{1} pass pass
TestVerifyEKURootAsLeaf/root_EKUs_[]x509.ExtKeyUsage{0},_verify_EKUs_[]x509.ExtKeyUsage{1} pass pass
TestVerifyEKURootAsLeaf/root_EKUs_[]x509.ExtKeyUsage{1},_verify_EKUs_[]x509.ExtKeyUsage(nil) pass pass
TestVerifyEKURootAsLeaf/root_EKUs_[]x509.ExtKeyUsage{1},_verify_EKUs_[]x509.ExtKeyUsage{0} pass pass
TestVerifyEKURootAsLeaf/root_EKUs_[]x509.ExtKeyUsage{1},_verify_EKUs_[]x509.ExtKeyUsage{1} pass pass
TestVerifyEKURootAsLeaf/root_EKUs_[]x509.ExtKeyUsage{2},_verify_EKUs_[]x509.ExtKeyUsage{1} pass pass
TestVerifyEmptyCertificate pass pass
TestVerifyNilPubKey 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.