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.
- BenchmarkCreateCertificate (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkOIDMarshalUnmarshalText (benchmark): benchmark execution is deferred to Phase 4D
- BenchmarkParseCertificate (benchmark): benchmark execution is deferred to Phase 4D
- ExampleCertificate_Verify (example): example execution is deferred to Phase 4D
- ExampleParsePKIXPublicKey (example): example execution is deferred to Phase 4D