File tree 1 file changed +11
-2
lines changed
src/libraries/Common/tests/System/Security/Cryptography/X509Certificates 1 file changed +11
-2
lines changed Original file line number Diff line number Diff line change @@ -566,9 +566,18 @@ singleExtensions [1] EXPLICIT Extensions OPTIONAL }
566
566
}
567
567
else if ( status == CertStatus . Revoked )
568
568
{
569
- // Android does not support all precisions for seconds - just omit fractional seconds for testing on Android
570
569
writer . PushSequence ( s_context1 ) ;
571
- writer . WriteGeneralizedTime ( revokedTime , omitFractionalSeconds : OperatingSystem . IsAndroid ( ) ) ;
570
+
571
+ // Fracational seconds "MUST NOT" be used here. Android and macOS 13+ enforce this and
572
+ // reject GeneralizedTime's with fractional seconds, so omit them.
573
+ // RFC 6960: 4.2.2.1:
574
+ // The format for GeneralizedTime is as specified in Section 4.1.2.5.2 of [RFC5280].
575
+ // RFC 5280 4.1.2.5.2:
576
+ // For the purposes of this profile, GeneralizedTime values MUST be
577
+ // expressed in Greenwich Mean Time (Zulu) and MUST include seconds
578
+ // (i.e., times are YYYYMMDDHHMMSSZ), even where the number of seconds
579
+ // is zero. GeneralizedTime values MUST NOT include fractional seconds.
580
+ writer . WriteGeneralizedTime ( revokedTime , omitFractionalSeconds : true ) ;
572
581
writer . PopSequence ( s_context1 ) ;
573
582
}
574
583
else
You can’t perform that action at this time.
0 commit comments