Bug#295449: [Pkg-openssl-devel] Re: Debian bug #295449 - OpenSSL

Kurt Roeckx kurt at roeckx.be
Sun Dec 25 11:01:38 UTC 2005


On Thu, Dec 22, 2005 at 11:56:20AM -0700, Cedar Cox wrote:
> >>>>Do you know what the status is of bug #295449 regarding openssl x509
> >>>>-CAserial ?  Do you know when/if the patch will be applied and the
> >>>>package updated.  Has it been tested?
> >>>
> >>>I did not get any reply from upstream concerning this bug.
> >>>And we had not yet the chance to evaluate the patch from Tim Woodall.
> >>>
> >>>Kurt, what do you think about the patch?
> >>
> >>FYI, versions 0.9.7f and 0.9.7g both work.
> >
> >
> >So this might have been fixed in version 0.9.7f?  It was reported
> >against version 0.9.7e.  Did you also try version 0.9.8a?
> 
> I'm attaching a diff I just did of vanilla 0.9.7e and 0.9.7f.  Looks to 
> me like it contains a similar, but different fix.

This seems to be a combination of the following commits:
http://cvs.openssl.org/chngview?cn=12647
http://cvs.openssl.org/chngview?cn=12881
http://cvs.openssl.org/chngview?cn=12730

And I think only the first of those is actually relevant to the
bug report.


Kurt

> 
> -Cedar

> --- openssl-0.9.7e/apps/x509.c	2004-05-12 12:20:57.000000000 -0600
> +++ openssl-0.9.7f/apps/x509.c	2005-02-05 11:24:50.000000000 -0700
> @@ -179,7 +179,7 @@
>  	X509_REQ *rq=NULL;
>  	int fingerprint=0;
>  	char buf[256];
> -	const EVP_MD *md_alg,*digest=EVP_md5();
> +	const EVP_MD *md_alg,*digest;
>  	CONF *extconf = NULL;
>  	char *extsect = NULL, *extfile = NULL, *passin = NULL, *passargin = NULL;
>  	int need_rand = 0;
> @@ -216,6 +216,13 @@
>  	if (ctx == NULL) goto end;
>  	X509_STORE_set_verify_cb_func(ctx,callb);
>  
> +#ifdef  OPENSSL_FIPS
> +	if (FIPS_mode())
> +		digest = EVP_sha1();
> +	else
> +#endif
> +		digest = EVP_md5();
> +
>  	argc--;
>  	argv++;
>  	num=0;
> @@ -598,10 +605,13 @@
>  			sno = ASN1_INTEGER_new();
>  			if (!sno || !rand_serial(NULL, sno))
>  				goto end;
> -			}
> -
>  		if (!X509_set_serialNumber(x, sno)) 
>  			goto end;
> +			ASN1_INTEGER_free(sno);
> +			sno = NULL;
> +			}
> +		else if (!X509_set_serialNumber(x, sno)) 
> +			goto end;
>  
>  		if (!X509_set_issuer_name(x,req->req_info->subject)) goto end;
>  		if (!X509_set_subject_name(x,req->req_info->subject)) goto end;
> @@ -971,9 +981,9 @@
>  
>  	if (checkend)
>  		{
> -		time_t tnow=time(NULL);
> +		time_t tcheck=time(NULL) + checkoffset;
>  
> -		if (ASN1_UTCTIME_cmp_time_t(X509_get_notAfter(x), tnow+checkoffset) == -1)
> +		if (X509_cmp_time(X509_get_notAfter(x), &tcheck) < 0)
>  			{
>  			BIO_printf(out,"Certificate will expire\n");
>  			ret=1;





More information about the Pkg-openssl-devel mailing list