@@ -881,6 +881,7 @@ func testResumption(t *testing.T, version uint16) {
881
881
MaxVersion : version ,
882
882
CipherSuites : []uint16 {TLS_RSA_WITH_RC4_128_SHA , TLS_ECDHE_RSA_WITH_RC4_128_SHA },
883
883
Certificates : testConfig .Certificates ,
884
+ Time : testTime ,
884
885
}
885
886
886
887
issuer , err := x509 .ParseCertificate (testRSACertificateIssuer )
@@ -897,6 +898,7 @@ func testResumption(t *testing.T, version uint16) {
897
898
ClientSessionCache : NewLRUClientSessionCache (32 ),
898
899
RootCAs : rootCAs ,
899
900
ServerName : "example.golang" ,
901
+ Time : testTime ,
900
902
}
901
903
902
904
testResumeState := func (test string , didResume bool ) {
@@ -944,20 +946,20 @@ func testResumption(t *testing.T, version uint16) {
944
946
}
945
947
946
948
// An old session ticket can resume, but the server will provide a ticket encrypted with a fresh key.
947
- serverConfig .Time = func () time.Time { return time . Now ().Add (24 * time .Hour + time .Minute ) }
949
+ serverConfig .Time = func () time.Time { return testTime ().Add (24 * time .Hour + time .Minute ) }
948
950
testResumeState ("ResumeWithOldTicket" , true )
949
951
if bytes .Equal (ticket [:ticketKeyNameLen ], getTicket ()[:ticketKeyNameLen ]) {
950
952
t .Fatal ("old first ticket matches the fresh one" )
951
953
}
952
954
953
955
// Now the session tickey key is expired, so a full handshake should occur.
954
- serverConfig .Time = func () time.Time { return time . Now ().Add (24 * 8 * time .Hour + time .Minute ) }
956
+ serverConfig .Time = func () time.Time { return testTime ().Add (24 * 8 * time .Hour + time .Minute ) }
955
957
testResumeState ("ResumeWithExpiredTicket" , false )
956
958
if bytes .Equal (ticket , getTicket ()) {
957
959
t .Fatal ("expired first ticket matches the fresh one" )
958
960
}
959
961
960
- serverConfig .Time = func () time.Time { return time . Now () } // reset the time back
962
+ serverConfig .Time = func () time.Time { return testTime () } // reset the time back
961
963
key1 := randomKey ()
962
964
serverConfig .SetSessionTicketKeys ([][32 ]byte {key1 })
963
965
@@ -974,11 +976,11 @@ func testResumption(t *testing.T, version uint16) {
974
976
testResumeState ("KeyChangeFinish" , true )
975
977
976
978
// Age the session ticket a bit, but not yet expired.
977
- serverConfig .Time = func () time.Time { return time . Now ().Add (24 * time .Hour + time .Minute ) }
979
+ serverConfig .Time = func () time.Time { return testTime ().Add (24 * time .Hour + time .Minute ) }
978
980
testResumeState ("OldSessionTicket" , true )
979
981
ticket = getTicket ()
980
982
// Expire the session ticket, which would force a full handshake.
981
- serverConfig .Time = func () time.Time { return time . Now ().Add (24 * 8 * time .Hour + time .Minute ) }
983
+ serverConfig .Time = func () time.Time { return testTime ().Add (24 * 8 * time .Hour + 2 * time .Minute ) }
982
984
testResumeState ("ExpiredSessionTicket" , false )
983
985
if bytes .Equal (ticket , getTicket ()) {
984
986
t .Fatal ("new ticket wasn't provided after old ticket expired" )
@@ -988,15 +990,15 @@ func testResumption(t *testing.T, version uint16) {
988
990
d := 0 * time .Hour
989
991
for i := 0 ; i < 13 ; i ++ {
990
992
d += 12 * time .Hour
991
- serverConfig .Time = func () time.Time { return time . Now ().Add (d ) }
993
+ serverConfig .Time = func () time.Time { return testTime ().Add (d ) }
992
994
testResumeState ("OldSessionTicket" , true )
993
995
}
994
996
// Expire it (now a little more than 7 days) and make sure a full
995
997
// handshake occurs for TLS 1.2. Resumption should still occur for
996
998
// TLS 1.3 since the client should be using a fresh ticket sent over
997
999
// by the server.
998
1000
d += 12 * time .Hour
999
- serverConfig .Time = func () time.Time { return time . Now ().Add (d ) }
1001
+ serverConfig .Time = func () time.Time { return testTime ().Add (d ) }
1000
1002
if version == VersionTLS13 {
1001
1003
testResumeState ("ExpiredSessionTicket" , true )
1002
1004
} else {
@@ -1012,6 +1014,7 @@ func testResumption(t *testing.T, version uint16) {
1012
1014
MaxVersion : version ,
1013
1015
CipherSuites : []uint16 {TLS_RSA_WITH_RC4_128_SHA , TLS_ECDHE_RSA_WITH_RC4_128_SHA },
1014
1016
Certificates : testConfig .Certificates ,
1017
+ Time : testTime ,
1015
1018
}
1016
1019
serverConfig .SetSessionTicketKeys ([][32 ]byte {key2 })
1017
1020
@@ -1698,6 +1701,7 @@ func testVerifyConnection(t *testing.T, version uint16) {
1698
1701
serverConfig := & Config {
1699
1702
MaxVersion : version ,
1700
1703
Certificates : []Certificate {testConfig .Certificates [0 ]},
1704
+ Time : testTime ,
1701
1705
ClientCAs : rootCAs ,
1702
1706
NextProtos : []string {"protocol1" },
1703
1707
}
@@ -1711,6 +1715,7 @@ func testVerifyConnection(t *testing.T, version uint16) {
1711
1715
RootCAs : rootCAs ,
1712
1716
ServerName : "example.golang" ,
1713
1717
Certificates : []Certificate {testConfig .Certificates [0 ]},
1718
+ Time : testTime ,
1714
1719
NextProtos : []string {"protocol1" },
1715
1720
}
1716
1721
test .configureClient (clientConfig , & clientCalled )
@@ -1753,8 +1758,6 @@ func testVerifyPeerCertificate(t *testing.T, version uint16) {
1753
1758
rootCAs := x509 .NewCertPool ()
1754
1759
rootCAs .AddCert (issuer )
1755
1760
1756
- now := func () time.Time { return time .Unix (1476984729 , 0 ) }
1757
-
1758
1761
sentinelErr := errors .New ("TestVerifyPeerCertificate" )
1759
1762
1760
1763
verifyPeerCertificateCallback := func (called * bool , rawCerts [][]byte , validatedChains [][]* x509.Certificate ) error {
@@ -2000,7 +2003,7 @@ func testVerifyPeerCertificate(t *testing.T, version uint16) {
2000
2003
config .ServerName = "example.golang"
2001
2004
config .ClientAuth = RequireAndVerifyClientCert
2002
2005
config .ClientCAs = rootCAs
2003
- config .Time = now
2006
+ config .Time = testTime
2004
2007
config .MaxVersion = version
2005
2008
config .Certificates = make ([]Certificate , 1 )
2006
2009
config .Certificates [0 ].Certificate = [][]byte {testRSACertificate }
@@ -2017,7 +2020,7 @@ func testVerifyPeerCertificate(t *testing.T, version uint16) {
2017
2020
config := testConfig .Clone ()
2018
2021
config .ServerName = "example.golang"
2019
2022
config .RootCAs = rootCAs
2020
- config .Time = now
2023
+ config .Time = testTime
2021
2024
config .MaxVersion = version
2022
2025
test .configureClient (config , & clientCalled )
2023
2026
clientErr := Client (c , config ).Handshake ()
@@ -2330,7 +2333,7 @@ func testGetClientCertificate(t *testing.T, version uint16) {
2330
2333
serverConfig .RootCAs = x509 .NewCertPool ()
2331
2334
serverConfig .RootCAs .AddCert (issuer )
2332
2335
serverConfig .ClientCAs = serverConfig .RootCAs
2333
- serverConfig .Time = func () time. Time { return time . Unix ( 1476984729 , 0 ) }
2336
+ serverConfig .Time = testTime
2334
2337
serverConfig .MaxVersion = version
2335
2338
2336
2339
clientConfig := testConfig .Clone ()
@@ -2501,6 +2504,7 @@ func testResumptionKeepsOCSPAndSCT(t *testing.T, ver uint16) {
2501
2504
ClientSessionCache : NewLRUClientSessionCache (32 ),
2502
2505
ServerName : "example.golang" ,
2503
2506
RootCAs : roots ,
2507
+ Time : testTime ,
2504
2508
}
2505
2509
serverConfig := testConfig .Clone ()
2506
2510
serverConfig .MaxVersion = ver
0 commit comments