-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Support for Client certificates for downstream routes #1690
Comments
Hi Emil! Hire me at Netcompany and I will help you! 😉 |
Truly speaking, I cannot understand, what feature are you requesting for? And, |
Hi raman-m, I may not have been clear enough in my description, my bad. I have tried to implement it in https://github.com/millusdk/Ocelot, and I am more than willing to submit a PR for it against Ocelot, as we would prefer to base the gateway in our clients solution on the officially released version of Ocelot rather than try to maintain a fork with it added, however I will only do so if there is interest from the maintainers of Ocelot, as I don't want to put an unwanted burden on you, and I can't guarantee that I will have time to maintain the addition in the long term. I am of course willing to do the work that is needed for you to accept a potential PR, such that the quality of the added code is up to the usual standard and style of Ocelot. Best regards, |
@millusdk commented on Sep 14:
Great! We are discussing the case of https scheme. We need to clear up the user case... For hosting provider certificates if it is valid, the For example, For WebSockets protocol (ws and wss scheme) we have open PR #1377 |
Yep we are talking about the https scheme. The problem is not the downstream services providing a certificate to Ocelot, all the downstream services use normal https certificates signed by a public CA, and as such they will be accepted by Ocelot without any issues. The situation we would like to solve is enabling Ocelot to present a certificate on its own as part of the TLS handshake, thus providing Mutual authentication. |
@millusdk commented on Sep 15, 11:40 AM:
Perfect! It seems there is no bug/issue at all. It will be feature request...
It is a risky way... It will be custom protocol implementation and incorporation to Ocelot core. Ocelot is not responsible for TLS handshake of HTTPS, it is the function of I still wonder, why do you want to embed custom protocols with custom authentication to Ocelot core? What is a benefit? Could you share links to networking & gateway products on the market which already have similar features please? Anyway, you need to write full description please. |
Hi raman-m, Using client certificates to do mutual authentication between systems is very prevalent in Denmark, so much that we have a central CA that is able to issue client certificates specifically for this. Most (all?) web servers are able to accept/require that the client presents a certificate as part of the TLS handshake. I have made an example implementation of this that can be seen in HttpClientBuilder#L82 or HttpClientBuilder#L113 in my fork of the Ocelot code. I can see that Nginx is able to use client certificates to authenticate itself against the services that it proxies, as can be seen here Securing HTTP Traffic to Upstream Servers, and it is also supported in Yarp Configuring the http client Best regards, |
@millusdk commented on Sep 15, 12:38 PM:
🆗 It seems I understand your feature request now... Do you believe Ocelot cannot be legally used on Danish market because of laws? Wow! LoL! 🤣 Anyway, once again, Hire me at Netcompany, and we will do a lot of interesting features. You can be a referrer.
Great! Yeah, Ocelot has no this feature now. Also, I am not expert in TLS-connections, but definitely should get more knowledges.
Are you going to create PR(s) in coming future? Without a PR I cannot see changes and review the solution and/or contribute with you together.
Agreed! Other products have this feature. Yeap, now it is time to implement it in Ocelot.
My heart is broken now! 💔 😢 😭 |
I'm from Microsoft and exploring a reliable api gateway built upon dotnet core. I need to implement authentication with Microsoft proprietary libraries. MTLS support is the must-have feature for us. So, I guess I have to go back to implement everything on yarp. |
Dear Hu, Would you be able to help us by contributing to the repository through the submission of a PR?
What libs are you talking about? |
New Feature
Extend the definition of downstream routs to support specifying a client certificate that is the used to call the service.
Motivation for New Feature
We are looking at using Ocelot as the API gateway for a new project. The problem is that the downstream services require that the usage of client certificates to authenticate (they contain PII). This feature would enable this setup.
The text was updated successfully, but these errors were encountered: