0

So we are on this project with a partner that should use one of our API. The bosses decided the communication should use TLS mutual authentication.

On the server hosting the API, we installed long ago a certificate issued by a well-known public CA.

In my (quite lacking) understending of PKI, we do not need to send our partner any certificate. When initiating the connection, their system (as client) will simply ask for our server's certificate, and verify it with the CA. If they also installed a 'public certificate' on their client, the server should be able to verify it with the CA, and the communication will be mutually authenticated. Then the client and server would agree on a common mean of encrypting the channel.

Am I at least partially right in my understanding of mutual authentication using certificates ?

If so, why is our partner asking for us to send them the entire certificate used on our server ? They say they need the certificate containing the public key. Why would they need it in advance ? If we send them the entire certificate, it will also contain the private key, meaning the partner will be technically allowed to spoof our identity. Am I still right ?

Any advice regarding this situation ? Anything I missed ? I was never a genius with certificates...

Thanks in advance for your help !

1

Am I at least partially right in my understanding of mutual authentication using certificates ?

Yes. Specifically, "mutual auth" means that your server must request and verify the client's certificate.

Why would they need it in advance ?

Maybe they want to make sure they got the right server.

They also may be planning on doing something else than generic "many CAs" authentication. For example, they might want to know which specific CA you use, to reduce the risk of another CA being tricked into issuing a similar cert.

They might also want to avoid CA-based verification entirely, and instead check for the precise public key that you currently have. (This is very secure, but also fragile as renewing a cert often involves making a new key. Be sure to ask the partner about certificate renewal.)

If we send them the entire certificate, it will also contain the private key, meaning the partner will be technically allowed to spoof our identity.

No. The private key is not part of the certificate.

1
  • Thanks for your answer. I re-read the theory about certificates, and indeed they do not contain the private key. If had a little confusion here. – Ob1lan Dec 22 '19 at 23:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.