SSPI indicates you're using windows authentication.
Have you created a secure principal name for service C in your domain? google the setspn command. The issue is that windows will not pass a credential from the domain to an untrusted system. You trust it by providing the secure principal name in the domain which then allows the token to be passed.
You are encountering what's called the Double Hop problem. http://blogs.msdn.com/knowledgecast/archive/2007/01/31/the-double-hop-problem.aspx. The solution is generally to use Kerberos authentication, which as Spence says, involves things like SPNs.