@@ -198,14 +198,13 @@ pub const Parsed = struct {
198198 /// * That the subject's issuer is indeed the provided issuer.
199199 /// * The time validity of the subject.
200200 /// * The signature.
201- pub fn verify (parsed_subject : Parsed , parsed_issuer : Parsed ) VerifyError ! void {
201+ pub fn verify (parsed_subject : Parsed , parsed_issuer : Parsed , now_sec : i64 ) VerifyError ! void {
202202 // Check that the subject's issuer name matches the issuer's
203203 // subject name.
204204 if (! mem .eql (u8 , parsed_subject .issuer (), parsed_issuer .subject ())) {
205205 return error .CertificateIssuerMismatch ;
206206 }
207207
208- const now_sec = std .time .timestamp ();
209208 if (now_sec < parsed_subject .validity .not_before )
210209 return error .CertificateNotYetValid ;
211210 if (now_sec > parsed_subject .validity .not_after )
@@ -419,10 +418,10 @@ pub fn parse(cert: Certificate) !Parsed {
419418 };
420419}
421420
422- pub fn verify (subject : Certificate , issuer : Certificate ) ! void {
421+ pub fn verify (subject : Certificate , issuer : Certificate , now_sec : i64 ) ! void {
423422 const parsed_subject = try subject .parse ();
424423 const parsed_issuer = try issuer .parse ();
425- return parsed_subject .verify (parsed_issuer );
424+ return parsed_subject .verify (parsed_issuer , now_sec );
426425}
427426
428427pub fn contents (cert : Certificate , elem : der.Element ) []const u8 {
0 commit comments