RocketChat / RocketChat/Rocket.Chat.ReactNative
Can't install certificate
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2.4k
- Forks
- 1.5k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 90
Description
Description:
I would like to install client certificate from https://badssl.com/download/
Environment Information:
- Rocket.Chat Server Version: N/A
- Rocket.Chat App Version: 4.13.22189
- Device Name: Sony Xperia
- OS Version: Android 8
Steps to reproduce:
Try to install certificate:

But system doesn't allow to load p12 cert format:

Only pem file extension is user able to select, but that will return error "No certificate to install".
Expected behavior:
P12 or pem client cert will be loaded successfully.
IMHO code should allow to load different file extensions used for client certificate (p12, pem, crt, pfx, ...), not just one com.rsa.pkcs-12 UTType:
https://github.com/RocketChat/Rocket.Chat.ReactNative/blob/eeafa7fe44f7fa98adb10d6ab75d2e15289fce6e/app/utils/sslPinning.js#L16
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with app/utils/sslPinning.js at the linked file and inspect how the certificate picker handles the com.rsa.pkcs-12 type. Reproduce the Android 8 case using the certificate files from badssl.com/download/. Done means supported p12 or pem client certificates load successfully instead of producing the reported selection error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, react-native
- Domain
- mobile, security
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100