New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 815214 link

Starred by 5 users

Issue metadata

Status: Assigned
Owner:
Last visit > 30 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug-Regression



Sign in to add a comment

VPN through Android no longer working

Reported by travisep...@gmail.com, Feb 23 2018

Issue description

UserAgent: Mozilla/5.0 (X11; CrOS armv7l 10323.39.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.89 Safari/537.36
Platform: 10323.39.0 (Official Build) beta-channel veyron_minnie

Steps to reproduce the problem:
1. Install OpenVPN for Android
2. Setup VPN connection
3. Connect to VPN connection

What is the expected behavior?
I expect the connection to go through and for ChromeOS to route traffic through that Android App VPN connection

What went wrong?
The Android app can no longer access the certificates.  This was working in previous version.  Error:12:34 PM Options 

error: In /data/user/0/de.blinkt.openvpn/cache/android.conf:20: Maximum optione line length (256) exceeded, line starts with Cannot access the Android Keychain Certificates. This can be caused by a firmware upgrade or by restoring a backup of the app/app settings. Please edit the VPN and reselect the certificate under basic settings to recreate the permission to access the certi

I have edited and tried to reselect the Cert, but get this error:
Could not get certificate from Keystore:Attempt to read from null array.

Did this work before? Yes 64.0.3282.134 (Platform version: 10176.65.0)

Chrome version: 65.0.3325.89  Channel: beta
OS Version: 10323.39.0
Flash Version:
 
Installed 10032.86.0 (Official Build) stable-channel veyron_minnie and OpenVPN through Android is working just fine.  Sine it did a power wash I had to reinstall everything including the certs.
Components: Platform>Apps>ARC
Owner: changmar@chromium.org
changmar@ please triage
Cc: cernekee@chromium.org
Components: Internals>Network>VPN
> Cannot access the Android Keychain Certificates. This can be caused by a firmware upgrade or by restoring a backup of the app/app settings. Please edit the VPN and reselect the certificate under basic settings to recreate the permission to access the certi

This is R.string.keychain_access which may be printed as a result of an android.security.KeyChain error in the getKeyStoreCertificates() method:

https://github.com/schwabe/ics-openvpn/blob/68ecf387e4ec820850eba2e1661b43faf7ce6ea1/main/src/main/java/de/blinkt/openvpn/VpnProfile.java#L409
https://github.com/schwabe/ics-openvpn/blob/68ecf387e4ec820850eba2e1661b43faf7ce6ea1/main/src/main/java/de/blinkt/openvpn/VpnProfile.java#L886

The latter code path may also record the stack trace, either in the application log or in logcat.  Can we get a copy of that backtrace to see what is failing?

(The keychain code is outside my area of expertise so in parallel, we should cc: the appropriate engineers.)
Cc: -cernekee@chromium.org
Owner: cernekee@chromium.org
Apologize, but I already had to reload my system since it was my primary unit and am unable to grab a stack trace...
Cc: emaxx@chromium.org dskaram@chromium.org
Hi David/Maksim - do you have a point of contact for the Android keychain code on ARC++?

Comment 8 by emaxx@chromium.org, Mar 5 2018

Cc: bartfab@chromium.org edmanp@google.com
+Bartosz, +Edman: See comment 7.

Comment 9 by ed...@chromium.org, Mar 6 2018

There have been no recent changes in the keychain we can track this to, and it's hard to debug without a stacktrace.

Can you tell more about your setup? Is this a client certificate being installed in the system wide keystore by a 3rd app, which is then accessed by OpenVPN?
I used the basic setup for the OpenVPN client app.  I installed the certificate through the OpenVPN client app.

https://play.google.com/store/apps/details?id=de.blinkt.openvpn&hl=en

Next time I have a bug report I will get a stacktrace.  Should have done that...
bartfab@ any comment on comment 7?
Cc: swillden@google.com
We are using AOSP Keystore, Keychain and soft Keymaster. +swillden is the expert on these.

This bug reminds me of something Edman observed a few times in the past months: Sometimes, certs go missing in the lower levels of the stack, but the alias at the upper levels remains. So you can still enumerate the cert but any attempt to access it fails in weird ways.
A stack trace would be very helpful. It would also be useful to see if the key is still present in keystore's directories (/data/misc/keystore/...).

Comment 14 Deleted

Comment 15 by mclun...@gmail.com, May 17 2018

I can reproduce this bug reliably on caroline. It occurs with Android openvpn apps that import a cert into the Android keystore. Everything works fine after initially setting up a config and importing the cert. But after signing out and then signing back in, connection to the cert is lost, resulting in the error message described in comment 1. 

The apps affected include:

https://play.google.com/store/apps/details?id=de.blinkt.openvpn
https://play.google.com/store/apps/details?id=net.openvpn.openvpn

Note: Google support officially recommends the first of these apps for complex openvpn client configs:

https://support.google.com/chromebook/answer/1282338

I would be glad to help to debug but need some pointers on how to generate a stack trace for Android apps on ChromeOS.
Cc: phweiss@chromium.org
Status: Assigned (was: Unconfirmed)
This issue has an owner, a component and a priority, but is still listed as untriaged or unconfirmed. By definition, this bug is triaged. Changing status to "assigned". Please reach out to me if you disagree with how I've done this.

Sign in to add a comment