palant / pfp

A simple and secure browser extension to be used with KeePass databases.
https://pfp.works/
Mozilla Public License 2.0
113 stars 14 forks source link

iOS - website not working there #97

Closed Noitidart closed 5 years ago

Noitidart commented 5 years ago

I was at a wedding last week and had only my iOS device, on iOS 10.3.2. I can't update to iOS, because i need this device on old version to test my iOS apps on for older os's. I needed login but safari browser, and other browser did not support the website, and extension couldn't be installed.

Is there any solutions I can help you with here? I can help with a super quick and dirty mobile companion in react-native, so it can be done all offline. The JS engine there will have the same limitations of the browser, so we'll have to use native modules.

palant commented 5 years ago

It's likely something about their WebCrypto support. Unfortunately, Safari is the one browser that is impossible to test without owning specific hardware, and I have neither a Mac nor iOS.

Noitidart commented 5 years ago

I have a mac mini I can set it up for remote connect for you. I only use that for dev, and im not doing any mac dev right now. Would you like to try that?

palant commented 5 years ago

I just tried Epiphany which is also based on WebKit and the website works there.

Yes, I guess your Mac mini would be the best way to test things. I could take a look tomorrow in the morning. You can see my email address under https://palant.de/impressum/.

Noitidart commented 5 years ago

Thanks!! I'll set it up when I get home and email you :)

I have TeamViewer, is there something else you prefer?

palant commented 5 years ago

TeamViewer is good.

Just checked and Epiphany uses a WebKit build that matches Safari 12.0.1. Could it be that your Safari version is older?

Noitidart commented 5 years ago

Yeah I think its the Safari that comes with iOS 10.3.2 I'll check as soon as I get home.

palant commented 5 years ago

As we've established, this issue is fixed in Safari 11. So it's only Safari 10 being problematic here, likely due to crypto.subtle being vendor-prefixed (only the case before Safari 10.1 according to MDN but MDN might be wrong).

palant commented 5 years ago

It seems that there is no easy way to install an older WebKit version. Given that the market share of iOS 10 appears to be below 5% of all iOS devices, this issues is best resolved as "won't fix" - we should require at least Safari 11.

I looked at the Safari 11 release announcement and it seems that prefixing isn't the issue here. It's rather this point:

  • Includes new cryptographic algorithms like: AES-CFB, AES-GCM, ECDH, and PBKDF2.

Of course, without AES-GCM their WebCrypto support wasn't of any use to us. There isn't an easy workaround either.

Noitidart commented 5 years ago

Totally understand, thanks bro!