Re: Questions about the semantics of SSL_CTX_set_cert_verify_callback

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jul 07, 2023 at 02:01:09PM +0000, Andrew Lee-Thorp wrote:

> >The question makes no sense, the chain is always unvalidated, it is the
> >callback's job to do the validation.
> 
> Imagine the client connects to foo.com
> Imagine the server offers certs to the clients the following certs:
> [x, 1,2,3] where 1,2,3 IS a chain, 3 is trusted and 1 is the foo.com
> cert. Self-signed cert x is the cert that was actually used in the
> handshake.

The SSL layer will pass "x" as the EE certificate an [1,2,3] in the
untrusted stack.  The chain will initially be NULL.  No validation
of any kind has been performed on entry to the callback.

> (Imagine also the client does not do hostname verification, humour me
> for a moment).

Any verification the client does or does not do is in the <elided code>,
which you have not described.  So nothing can be said about the result.

> Then will the callback contain 1,2,3 or will it contain just x, or
> even [x,1,2,3] ?

The callback does not "contain" anything.  It gets an X509_STORE_CTX,
in which the EE certificate is x, and the untrusted chain is [1,2,3].

The callback's job is to construct and validate a certificate chain,
setting the store context error status to a value other than X509_V_OK
on error.  It should return 1 on success, 0 on error and "-1" if it
couldn't even decide because of some transient problem.

-- 
    Viktor.



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux