nextcloud / nextcloud/ios

Cannot import SSL Client Certificate (.p12)

Open
#2,975 66 comments 1 reaction 1 assignee View on GitHub

@mpivchev is already working on this.

Since Jul 5, 2024.

Dominant language
Swift
Stars
2.5k
Forks
1k
Avg merge
2d 18h
Merged PRs (30d)
13

Description

Steps to reproduce
  1. Launch the Nextcloud IOS app (5.4.1) and enter the URL to our NC server
  2. A popup is shown saying that "the server is requesting a client certificate", as expected
  3. When browsing to the client certificate (.p12, generated with OpenSSL with the legacy flag) and entering the password for the certificate, we go back to the first popup saying "the server is requesting a client certificate", and we are looping
Expected behaviour

The client certificate should be imported into the app and sent to our NC server when connecting.
Note that the same client certificate is correctly installed through Safari and we correctly connect to our NC server through Safari. It only fails when using the NC ios app.

Actual behaviour

The client certificate is not imported into the app and it is looping on the import steps.

Screenshots

IMG_0197
IMG_0198
IMG_0199
IMG_0200

Logs
Apache Server log:
[Thu Jul 04 09:42:59.814730 2024] [ssl:error] [pid 270191:tid 140260126217984] [client x.x.x.x:57011] AH02261: Re-negotiation handshake failed
[Thu Jul 04 09:42:59.814859 2024] [ssl:error] [pid 270191:tid 140260126217984] SSL Library Error: error:1417C0C7:SSL routines:tls_process_client_certificate:peer did not return a certificate -- No CAs known to server for verification?
Reasoning or why should it be changed/implemented?
Environment data

iOS version: IpadOS 17.5.1

Nextcloud iOS app version: 5.4.1

Server operating system: AlmaLinux 8.9

Web server: Apache

Database: Postgres

PHP version: 8.2.16

Nextcloud version: 28.0.2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.