Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TLS support for chained PKCS12 certificates #74

Open
camelpunch opened this issue Jun 6, 2016 · 4 comments
Open

TLS support for chained PKCS12 certificates #74

camelpunch opened this issue Jun 6, 2016 · 4 comments

Comments

@camelpunch
Copy link
Contributor

camelpunch commented Jun 6, 2016

This client currently supports leaf client certificate/key pairs but not certificate chains, both when parsing/providing to the server and performing peer verification.

@jsembdner
Copy link

I guess I am running into this problem. In my app I want to use a .P12 certificate that trusts a self-signed CA to connect to a RabbitMQ service.

The following error is what I get:
Error Domain=kCFStreamErrorDomainSSL Code=-9831
Which translates to:
errSSLPeerUnknownCA = -9831, /* unknown Cert Authority */

Are there any pointers to how to enable the library to handle this case?

@michaelklishin
Copy link
Member

michaelklishin commented Apr 17, 2019

That is possible already.

This issue is about supporting certificate chains.
RMQTLSOptions needs to parse certificate chains, peer verification mechanism should implements its traversal (or enable it in case there's a Foundation library that can do it) per RFC 5280, 6818

@michaelklishin
Copy link
Member

CONTRIBUTING.md describes how to run TLS integration tests. CertificateFixtures demonstrates how example client certificate is loaded by the test suite.

@michaelklishin
Copy link
Member

michaelklishin commented Apr 17, 2019

I cannot comment on a single error message and our team does not use GitHub issues for investigations (that's what the RabbitMQ mailing list is for). However, it looks like it is the client complains about an unknown certificate authority, in which case you must make the server CA certificate trusted on the device.

RabbitMQ has a TLS troubleshooting guide, Apple documentation has a note on self-signed CAs and how to make them trusted on a given device.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants