@@ -411,13 +411,16 @@ def test_set
411411 def test_utctime
412412 encode_decode_test B ( %w{ 17 0D } ) + "160908234339Z" . b ,
413413 OpenSSL ::ASN1 ::UTCTime . new ( Time . utc ( 2016 , 9 , 8 , 23 , 43 , 39 ) )
414- begin
415- # possible range of UTCTime is 1969-2068 currently
416- encode_decode_test B ( %w{ 17 0D } ) + "690908234339Z" . b ,
417- OpenSSL ::ASN1 ::UTCTime . new ( Time . utc ( 1969 , 9 , 8 , 23 , 43 , 39 ) )
418- rescue OpenSSL ::ASN1 ::ASN1Error
419- pend "No negative time_t support?"
420- end
414+
415+ # 1950-2049 range is assumed to match RFC 5280's expectation
416+ encode_decode_test B ( %w{ 17 0D } ) + "490908234339Z" . b ,
417+ OpenSSL ::ASN1 ::UTCTime . new ( Time . utc ( 2049 , 9 , 8 , 23 , 43 , 39 ) )
418+ encode_decode_test B ( %w{ 17 0D } ) + "500908234339Z" . b ,
419+ OpenSSL ::ASN1 ::UTCTime . new ( Time . utc ( 1950 , 9 , 8 , 23 , 43 , 39 ) )
420+ assert_raise ( OpenSSL ::ASN1 ::ASN1Error ) {
421+ OpenSSL ::ASN1 ::UTCTime . new ( Time . new ( 2049 , 12 , 31 , 23 , 0 , 0 , "-04:00" ) ) . to_der
422+ }
423+
421424 # not implemented
422425 # decode_test B(%w{ 17 11 }) + "500908234339+0930".b,
423426 # OpenSSL::ASN1::UTCTime.new(Time.new(1950, 9, 8, 23, 43, 39, "+09:30"))
0 commit comments