<div dir="ltr"><div>Hi</div><div><br></div><div>We have a client certificate in pem format and it is having below content and all these certificates are present in a single file.<div></div>

</div><div>serverCertificate -> intermediate CA -> rootCA <br></div><div><br></div><div>Now in the nginx.conf have below directives set:</div><div><br></div><div>`</div><div>server { <br> ... <br> ssl_client_certificate ca-pg-ca.pem; <br><b> ssl_verify_client optional_no_ca; </b><br> ssl_verify_depth 4;<br> <br> location ~* "^/" { <br>  ... <br>  proxy_set_header Host $best_http_host; <br>  <br>  # Pass the extracted client certificate to the backend   <br><b>  proxy_set_header ssl-client-cert $ssl_client_escaped_cert; </b><br>  proxy_set_header ssl-client-verify $ssl_client_verify; <br>  proxy_set_header ssl-client-subject-dn $ssl_client_s_dn; <br>  proxy_set_header ssl-client-issuer-dn $ssl_client_i_dn;<br> <br>  }<br>  <br>}`</div><div><br></div><div>Now in the nginx logs we see below traces:</div><div><br></div><div>`</div><div>{"message":"83#83: *874 http script var: '<a href="http://10.15.176.110:10443">10.15.176.110:10443</a>'"} <br>{"message":"83#83: *874 http script copy: 'ssl-client-cert'"}<br>{"message":"83#83: *874 http script var: '-----BEGIN%20CERTIFICATE-----<ONLY_CLIENT_CERTIFICATE_IS_PRESENT_WITHOUT_INTERMEDIATE>-----END%20CERTIFICATE-----%0A'"}} <br>{"message":"83#83: *874 http script copy: 'ssl-client-verify'"}} <br>{"message":"83#83: *874 http script var: 'SUCCESS'"}} <br>{"message":"83#83: *874 http script copy: 'ssl-client-subject-dn'"}} <br>{"message":"83#83: *874 http script var: 'CN=<a href="http://clientcert.com">clientcert.com</a>,O=ABCD,L=Ba,ST=Ka,C=US'"}} <br>{"message":"83#83: *874 http script copy: 'ssl-client-issuer-dn'"}} <br>{"message":"83#83: *874 http script var: 'CN=<a href="http://intermediateca.com">intermediateca.com</a>,O=Nk,ST=Ka,C=US'"}} <br></div><div>`</div><div><br></div><div>So based on above only the client certificate is sent to the upstream server but our expectation was that the complete pem contents including all the 3 certs (client, intermediate and root) will be sent to the backend.</div><div><br></div><div>Is our expectation correct or wrong ?</div><div>Any change has to be done to handle this ?</div><div><br></div><div>Nginx version used: 1.22.1<br></div><div><br></div><div><br></div><div><br></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><font size="1" face="'trebuchet ms', sans-serif" color="#000099"><b>Thanks & Regards,</b></font><div><font size="1" face="'trebuchet ms', sans-serif" color="#000099"><b>Vishwas <br></b></font></div><br></div></div></div></div></div>