<div dir="ltr">OK, so I figured out my own problem. Basically I needed to add the ca chain to each of the cert files. The cacert.pem file had the entire chain but since the clientcert.pem and the servercert.pem files only had a single cert during the handshake the chains were not presented and so verification failed. Once I appended the chain to both the server and client certs the handshake passed. Thanks for the help. I hope this discussion helps others who have similar problems.<br>
<div><br></div><div>In summary the contents of each of my files is as follows:</div><div><br></div><div>servercert.pem --</div><div>cert unique to server</div><div>child-ca1 cert</div><div>caroot cert</div><div><br></div>
<div><br></div><div><div>clientcert.pem --</div><div>cert unique to client</div><div>child-ca1 cert</div><div>caroot cert</div><div><br></div></div><div><br></div><div>cacert.pem --</div><div>child-ca1 cert</div><div>caroot cert</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Apr 22, 2014 at 8:35 AM, Daniel P. Berrange <span dir="ltr"><<a href="mailto:berrange@redhat.com" target="_blank">berrange@redhat.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">On Tue, Apr 22, 2014 at 08:24:43AM -0600, Nathaniel Cook wrote:<br>
> Thanks for the response.<br>
><br>
> My current chain is as follows:<br>
><br>
> caroot -> child-ca1 -> server cert<br>
><br>
> My cacert.pem file has both the caroot and the child-ca1 certs. I have<br>
> recompiled libvirt on my machine with some extra debug statements and<br>
> verified that both the caroot cert and the child-ca1 certs are being<br>
> loaded. But when I try to connect the caroot and child-ca1 certs only<br>
> appear under the "Acceptable client certificate CA names" not the<br>
> certificate chain. The error I get on the client when connecting is that<br>
> the server identity could not be verified since the server isn't presenting<br>
> the entire CA chain just its own cert.<br>
<br>
</div>Are you willing / able to share the output of<br>
<br>
 certtool -i --infile <filename>.pem<br>
<br>
for the cacert.pem and servercert.pem on the server, and the likewise for<br>
the cacert.pem and clientcert.pem (if used) on the client the fails to<br>
connect?<br>
<div class="HOEnZb"><div class="h5"><br>
Regards,<br>
Daniel<br>
--<br>
|: <a href="http://berrange.com" target="_blank">http://berrange.com</a>      -o-    <a href="http://www.flickr.com/photos/dberrange/" target="_blank">http://www.flickr.com/photos/dberrange/</a> :|<br>
|: <a href="http://libvirt.org" target="_blank">http://libvirt.org</a>              -o-             <a href="http://virt-manager.org" target="_blank">http://virt-manager.org</a> :|<br>
|: <a href="http://autobuild.org" target="_blank">http://autobuild.org</a>       -o-         <a href="http://search.cpan.org/~danberr/" target="_blank">http://search.cpan.org/~danberr/</a> :|<br>
|: <a href="http://entangle-photo.org" target="_blank">http://entangle-photo.org</a>       -o-       <a href="http://live.gnome.org/gtk-vnc" target="_blank">http://live.gnome.org/gtk-vnc</a> :|<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>-Nathaniel Cook
</div>