@@ -850,17 +850,31 @@ func TestCRLCreation(t *testing.T) {
850
850
block , _ = pem .Decode ([]byte (pemCertificate ))
851
851
cert , _ := ParseCertificate (block .Bytes )
852
852
853
- now := time .Unix (1000 , 0 )
853
+ loc := time .FixedZone ("Oz/Atlantis" , int ((2 * time .Hour ).Seconds ()))
854
+
855
+ now := time .Unix (1000 , 0 ).In (loc )
856
+ nowUTC := now .UTC ()
854
857
expiry := time .Unix (10000 , 0 )
855
858
856
859
revokedCerts := []pkix.RevokedCertificate {
857
860
{
858
861
SerialNumber : big .NewInt (1 ),
862
+ RevocationTime : nowUTC ,
863
+ },
864
+ {
865
+ SerialNumber : big .NewInt (42 ),
866
+ // RevocationTime should be converted to UTC before marshaling.
859
867
RevocationTime : now ,
860
868
},
869
+ }
870
+ expectedCerts := []pkix.RevokedCertificate {
871
+ {
872
+ SerialNumber : big .NewInt (1 ),
873
+ RevocationTime : nowUTC ,
874
+ },
861
875
{
862
876
SerialNumber : big .NewInt (42 ),
863
- RevocationTime : now ,
877
+ RevocationTime : nowUTC ,
864
878
},
865
879
}
866
880
@@ -869,10 +883,14 @@ func TestCRLCreation(t *testing.T) {
869
883
t .Errorf ("error creating CRL: %s" , err )
870
884
}
871
885
872
- _ , err = ParseDERCRL (crlBytes )
886
+ parsedCRL , err : = ParseDERCRL (crlBytes )
873
887
if err != nil {
874
888
t .Errorf ("error reparsing CRL: %s" , err )
875
889
}
890
+ if ! reflect .DeepEqual (parsedCRL .TBSCertList .RevokedCertificates , expectedCerts ) {
891
+ t .Errorf ("RevokedCertificates mismatch: got %v; want %v." ,
892
+ parsedCRL .TBSCertList .RevokedCertificates , expectedCerts )
893
+ }
876
894
}
877
895
878
896
func fromBase64 (in string ) []byte {
0 commit comments