The thing is, RFC3280 states...

Implementors are warned that the X.500 standards community has
   developed a series of extensibility rules.  These rules determine
   when an ASN.1 definition can be changed without assigning a new
   object identifier (OID).  For example, at least two extension
   definitions included in RFC 2459 [RFC 2459], the predecessor to this
   profile document, have different ASN.1 definitions in this
   specification, but the same OID is used.  If unknown elements appear
   within an extension, and the extension is not marked critical, those
   unknown elements ought to be ignored, as follows:

      (a)  ignore all unknown bit name assignments within a bit string;

      (b)  ignore all unknown named numbers in an ENUMERATED type or
      INTEGER type that is being used in the enumerated style, provided
      the number occurs as an optional element of a SET or SEQUENCE; and

      (c)  ignore all unknown elements in SETs, at the end of SEQUENCEs,
      or in CHOICEs where the CHOICE is itself an optional element of a
      SET or SEQUENCE.

   If an extension containing unexpected values is marked critical, the
   implementation MUST reject the certificate or CRL containing the
   unrecognized extension.

^^ This pretty much means if there is an unexpected value and it is critical
then it has to be rejected.

I'm not sure how Microsoft would like their "private" extensions being
listed in openssl.  You would think from a standards compliance POV they
would welcome it but who knows.

Brad


-----Original Message-----
From: owner-openssl-us...@openssl.org
[mailto:owner-openssl-us...@openssl.org] On Behalf Of Randy Turner
Sent: Thursday, 4 June 2009 3:48 PM
To: openssl-users@openssl.org
Subject: Re: Callback suggestion for unsupported cert extensions


I agree that there should probably be a callback for extensions not  
recognized and supported by OpenSSL...the callback
could return a failure code that openssl would look at, and if it is  
set to an "error" then openssl would run it's normal failure return  
path (up the call stack).
If the callback returns SUCCESS, then keep going...

If a plugin is not registered for handling unknown extensions, then  
maybe the code should follow a configuration flag
that says ["fail" on unknown extension] or [ignore unknown extensions]

Randy

On Jun 3, 2009, at 10:41 PM, Victor B. Wagner wrote:

> On 2009.06.04 at 09:04:11 +1000, Brad Mitchell wrote:
>
>>
>> The reason we use command-line utilities to verify is for  
>> transparency.
>> Data could be used in the courts for example and having that "hey..  
>> go
>> download openssl and verify it yourself" is a lot better than..  
>> here is a
>> util we wrote to verify the token.  WHAT?  Your util? sure.....
>>
>> So the issue with ignoring those extensions within your own app will
>> probably work for you depending on your situation.  In my case, it  
>> is not
>> really an option.
>>
>> I'm not really sure why this particular extension is marked as  
>> critical.  It
>> does seem a bit weird.  Microsoft aren't exactly the most compliant  
>> company
>> out there when it comes to some industry standards...
>
> Hm, description of the X509_F_FLAG_INGORE_CRITICAL reads "Ignore  
> UNKNOWN
> critical extensions". May be it is better to make these
> Microsoft-specific extension KNOWN to OpenSSL, even it wouldn't do
> anything with their values.
>
> Just "a thing which MS-CA can put into certificate, and mark critical,
> which doesn't affect verification process".
>
> It is quite easy to do:
>
> just add OID of this extension into objects.txt with suitable  
> shortname
> and longname, and add it into array in the X509_supported_extension
> function.
>
> Really I think it might be worth effort to make list of
> supported-extensions user-configurable. Applications can handle
> extensions, which are not supported by OpenSSL itself using verify
> callback function.
>
>
> ______________________________________________________________________
> OpenSSL Project                                 http://www.openssl.org
> User Support Mailing List                    openssl-users@openssl.org
> Automated List Manager                           majord...@openssl.org
>


No virus found in this incoming message.
Checked by AVG - www.avg.com 
Version: 8.5.339 / Virus Database: 270.12.51/2151 - Release Date: 06/03/09
18:00:00

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to