As far as I know, in an authenticated SSL connection, both the client and server have private keys and provide their certificates (with the corresponding public keys) across the connection before establishing the secure connection.
However, I'm a bit confused as there is a normal openSSL connectivity with these certificates and keys being used at server and client side but if client key/public key generated by openssl command is created by different CA than server private key then connectivity should not happen but its not happening in the experiment I tried with openSSL.
Is it not un-expected? Is it usual to have different set of keys at client and server side by different CA? Does openSSL generate a key pair on the fly for each session and is not dependent on client? Does anyone has any idea how these keys/certificates work at server and clent side and do these keys and certificates had any kind of relation/dependency between them?