On 18/07/2013 4:36 PM, Edwin Van Schaick wrote:
Hi Pete,

Thank you for your response. The server I try to access is a local server with a certificate chain of three certificates. When I access the server using a browser, I can view the chain with a root CA, a technical CA inbetween and the server certificate itself. For some reason I don't receive them when using the TlsProtocolHandler class. At this moment I don't know if the server returns all certificates and if not why that happens.
NotifyServerCertificate is sending you the server Certificate message. If there's only one entry in the list, the server only sent one. If you suspect the BC implementation, then use e.g. Wireshark to inspect the network packets. The fact that the browser displays a chain only means that the browser was able to construct the chain "somehow", typically by already having the other certificates installed. Indeed, you have to be able to construct the chain to validate it. You should be able to view these installed certificates in your browser settings somewhere.


For SSL Pinning I want to receive the root CA from the server to be able to guarantee that it is indeed the correct root CA.

Just take pinning out of the equation for a moment. How are you going to figure out the certificate chain in order to validate it? The TLS protocol itself doesn't require the server to send the full chain, nor can the client beg, trick, or force the server to do so, AFAIK.

Pete.


Reply via email to