david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

[crypto] Accept UTCTime/GeneralizedTime with no "seconds" field

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown 2012-05-21 23:20:03 +01:00
parent f4c88d55bd
commit f20c3742e7
1 changed files with 6 additions and 0 deletions

View File

@ -655,10 +655,16 @@ int asn1_generalized_time ( const struct asn1_cursor *cursor, time_t *time ) {
}
/* Parse digit string a pair at a time */
memset ( &pairs, 0, sizeof ( pairs ) );
data = contents.data;
remaining = contents.len;
for ( i = ( have_century ? 0 : 1 ) ; i < sizeof ( pairs.raw ) ; i++ ) {
if ( remaining < 2 ) {
/* Some certificates violate the X.509 RFC by
* omitting the "seconds" value.
*/
if ( i == ( sizeof ( pairs.raw ) - 1 ) )
break;
DBGC ( cursor, "ASN1 %p invalid time:\n", cursor );
DBGC_HDA ( cursor, 0, cursor->data, cursor->len );
return -EINVAL_ASN1_TIME;