X7ROOT File Manager
Current Path:
/opt/golang/1.22.0/src/crypto/x509
opt
/
golang
/
1.22.0
/
src
/
crypto
/
x509
/
📁
..
📄
boring.go
(993 B)
📄
boring_test.go
(3.75 KB)
📄
cert_pool.go
(8.93 KB)
📄
cert_pool_test.go
(2.25 KB)
📄
example_test.go
(5.32 KB)
📄
hybrid_pool_test.go
(3.72 KB)
📁
internal
📄
name_constraints_test.go
(44.92 KB)
📄
notboring.go
(258 B)
📄
oid.go
(5.75 KB)
📄
oid_test.go
(3.7 KB)
📄
parser.go
(36.57 KB)
📄
parser_test.go
(2.63 KB)
📄
pem_decrypt.go
(7.2 KB)
📄
pem_decrypt_test.go
(8.92 KB)
📄
pkcs1.go
(4.66 KB)
📄
pkcs8.go
(5.8 KB)
📄
pkcs8_test.go
(8.95 KB)
📁
pkix
📄
platform_root_cert.pem
(749 B)
📄
platform_root_key.pem
(227 B)
📄
platform_test.go
(7.28 KB)
📄
root.go
(2.03 KB)
📄
root_aix.go
(410 B)
📄
root_bsd.go
(748 B)
📄
root_darwin.go
(3.48 KB)
📄
root_darwin_test.go
(3.7 KB)
📄
root_linux.go
(1.11 KB)
📄
root_plan9.go
(828 B)
📄
root_solaris.go
(538 B)
📄
root_test.go
(2.62 KB)
📄
root_unix.go
(2.67 KB)
📄
root_unix_test.go
(6.07 KB)
📄
root_wasm.go
(373 B)
📄
root_windows.go
(8.74 KB)
📄
root_windows_test.go
(3.43 KB)
📄
sec1.go
(4.58 KB)
📄
sec1_test.go
(5.36 KB)
📄
test-file.crt
(1.9 KB)
📁
testdata
📄
verify.go
(35.3 KB)
📄
verify_test.go
(108.97 KB)
📄
x509.go
(82.3 KB)
📄
x509_test.go
(159.96 KB)
📄
x509_test_import.go
(1.7 KB)
Editing: root_test.go
// Copyright 2022 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package x509 import ( "testing" ) func TestFallbackPanic(t *testing.T) { defer func() { if recover() == nil { t.Fatal("Multiple calls to SetFallbackRoots should panic") } }() SetFallbackRoots(nil) SetFallbackRoots(nil) } func TestFallback(t *testing.T) { // call systemRootsPool so that the sync.Once is triggered, and we can // manipulate systemRoots without worrying about our working being overwritten systemRootsPool() if systemRoots != nil { originalSystemRoots := *systemRoots defer func() { systemRoots = &originalSystemRoots }() } tests := []struct { name string systemRoots *CertPool systemPool bool poolContent []*Certificate forceFallback bool returnsFallback bool }{ { name: "nil systemRoots", returnsFallback: true, }, { name: "empty systemRoots", systemRoots: NewCertPool(), returnsFallback: true, }, { name: "empty systemRoots system pool", systemRoots: NewCertPool(), systemPool: true, }, { name: "filled systemRoots system pool", systemRoots: NewCertPool(), poolContent: []*Certificate{{}}, systemPool: true, }, { name: "filled systemRoots", systemRoots: NewCertPool(), poolContent: []*Certificate{{}}, }, { name: "filled systemRoots, force fallback", systemRoots: NewCertPool(), poolContent: []*Certificate{{}}, forceFallback: true, returnsFallback: true, }, { name: "filled systemRoot system pool, force fallback", systemRoots: NewCertPool(), poolContent: []*Certificate{{}}, systemPool: true, forceFallback: true, returnsFallback: true, }, } for _, tc := range tests { t.Run(tc.name, func(t *testing.T) { fallbacksSet = false systemRoots = tc.systemRoots if systemRoots != nil { systemRoots.systemPool = tc.systemPool } for _, c := range tc.poolContent { systemRoots.AddCert(c) } if tc.forceFallback { t.Setenv("GODEBUG", "x509usefallbackroots=1") } else { t.Setenv("GODEBUG", "x509usefallbackroots=0") } fallbackPool := NewCertPool() SetFallbackRoots(fallbackPool) systemPoolIsFallback := systemRoots == fallbackPool if tc.returnsFallback && !systemPoolIsFallback { t.Error("systemRoots was not set to fallback pool") } else if !tc.returnsFallback && systemPoolIsFallback { t.Error("systemRoots was set to fallback pool when it shouldn't have been") } }) } }
Upload File
Create Folder