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 client certificate support #11

Open
SamuAlfageme opened this issue Apr 2, 2018 · 5 comments
Open

TLS client certificate support #11

SamuAlfageme opened this issue Apr 2, 2018 · 5 comments

Comments

@SamuAlfageme
Copy link

Currently, the only thing keeping me from using SSLVerifyClient require on my private ownCloud instance for "enhanced security" is the limited mobile clients support.

This was a long-requested desktop client feature that got in (not that long ago) our 2.3 version: owncloud/client#69. There's a screenshot of how the dialog prompted on handshake looks on owncloud/client#6128 (comment)

I'm not sure if this could be done in a "sandboxed" iOS application nowadays - i.e. provide access to the certificate living on the device keychain only to the ownCloud app - and additionally request its password. Feel free to close if there are technical limitations for this.

(FR coming from owncloud/ios-legacy#222)

@felix-schwarz
Copy link
Collaborator

From the SDK perspective, storing client certificates inside the app's own keychain and using them for authentication should be pretty straightforward to implement.

But how would you import / get the certificate into the app? @SamuAlfageme

@binlab
Copy link

binlab commented Apr 7, 2020

TLS client certificate is a powerful feature to improve security and add an additional factor to it!

@b00tsy
Copy link

b00tsy commented May 6, 2020

Via mdm it is not possible to distribute certificates, because they end up in the apple-only keychain (accessible via safari, mail).

So client certificate distribution would be required to be implemented by the app using the sdk, eg. via a custom app enrollment process with a custom server...

@michaelstingl
Copy link
Contributor

Via mdm it is not possible to distribute certificates, because they end up in the apple-only keychain (accessible via safari, mail).

Thanks for the detailed feedback!

In case OAuth 2.0 or OpenID Connect (OIDC) is used for login, the app opens a web view (ASWebAuthenticationSession), which should have the MDM-system-certificate to authenticate on the ownCloud server or the IdP. Later, app communication would be done with OAuth or OIDC tokens.

@b00tsy Could you elaborate on the ways, how would you get the certificate in the app? Link? Best practices? (home-user scenarios and/or enterprise scenarios)

@b00tsy
Copy link

b00tsy commented May 6, 2020 via email

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

No branches or pull requests

5 participants