{ "id": "63946", "key": "TIMOB-3314", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "11244", "name": "Release 1.7.0", "archived": true, "released": true, "releaseDate": "2011-06-13" }, { "id": "11245", "name": "Sprint 2011-10", "archived": true, "released": true, "releaseDate": "2011-03-14" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2011-04-17T02:01:26.000+0000", "created": "2011-04-15T03:41:57.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "android", "defect", "regression", "release-1.7.0", "reported-1.6.0", "rplist" ], "versions": [], "issuelinks": [], "assignee": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2011-04-17T02:01:26.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "{html}

Problem Regression from 1.5.1

\n

validatesSecureCertificate = false is no longer recognized in\nthe 1.6 build.

\n

Tested using 1.5.1 and 1.6 and on device APIs 2.2.

\n

Device Error Output

\n

E/TiHttpClient( 820): (TiHttpClient-3) [0,512855] HTTP Error\n(javax.net.ssl.SSLException): Not trusted server certificate
\nE/TiHttpClient( 820): javax.net.ssl.SSLException: Not trusted\nserver certificate
\nE/TiHttpClient( 820): at\norg.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:371)
\nE/TiHttpClient( 820): at\norg.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:92)
\nE/TiHttpClient( 820): at\norg.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:381)
\nE/TiHttpClient( 820): at\norg.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:164)
\nE/TiHttpClient( 820): at\norg.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
\nE/TiHttpClient( 820): at\norg.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
\nE/TiHttpClient( 820): at\norg.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:348)
\nE/TiHttpClient( 820): at\norg.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
\nE/TiHttpClient( 820): at\norg.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:653)
\nE/TiHttpClient( 820): at\norg.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:637)
\nE/TiHttpClient( 820): at\nti.modules.titanium.network.TiHTTPClient$ClientRunnable.run(TiHTTPClient.java:1000)
\nE/TiHttpClient( 820): at java.lang.Thread.run(Thread.java:1096)
\nE/TiHttpClient( 820): Caused by:\njava.security.cert.CertificateException:\njava.security.cert.CertPathValidatorException: Could not validate\ncertificate signature.
\nE/TiHttpClient( 820): at\norg.apache.harmony.xnet.provider.jsse.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:168)
\nE/TiHttpClient( 820): at\norg.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:366)
\nE/TiHttpClient( 820): ... 11 more
\nE/TiHttpClient( 820): Caused by:\njava.security.cert.CertPathValidatorException: Could not validate\ncertificate signature.
\nE/TiHttpClient( 820): at\norg.bouncycastle.jce.provider.PKIXCertPathValidatorSpi.engineValidate(PKIXCertPathValidatorSpi.java:342)
\nE/TiHttpClient( 820): at\njava.security.cert.CertPathValidator.validate(CertPathValidator.java:202)
\nE/TiHttpClient( 820): at\norg.apache.harmony.xnet.provider.jsse.TrustManagerImpl.checkServerTrusted(TrustManagerImpl.java:164)
\nE/TiHttpClient( 820): ... 12 more
\nE/TiHttpClient( 820): Caused by: java.security.SignatureException:\nSignature was not verified.
\nE/TiHttpClient( 820): at\norg.apache.harmony.security.provider.cert.X509CertImpl.fastVerify(X509CertImpl.java:601)
\nE/TiHttpClient( 820): at\norg.apache.harmony.security.provider.cert.X509CertImpl.verify(X509CertImpl.java:544)
\nE/TiHttpClient( 820): at\norg.bouncycastle.jce.provider.PKIXCertPathValidatorSpi.engineValidate(PKIXCertPathValidatorSpi.java:337)
\nE/TiHttpClient( 820): ... 14 more

\n

Testing File

\n

See reference ticket for testing file due to private data.

\n

Must create a distribution file and install on device to\nreplicate issue.

\n

http://developer.appcelerator.com/helpdesk/view/76333

{html}", "attachment": [], "flagged": false, "summary": "Android: validatesSecureCertificate not recognized", "creator": { "name": "aleard", "key": "aleard", "displayName": "Alan Leard", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "aleard", "key": "aleard", "displayName": "Alan Leard", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "130515", "author": { "name": "zipcar(goss)", "key": "zipcar(goss)", "displayName": "Zipcar (Goss)", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

This issue is a blocker for us. We are approaching an\ninvite-only beta with our app, but cannot use it against our\nproduction servers due to this.

{html}", "updateAuthor": { "name": "zipcar(goss)", "key": "zipcar(goss)", "displayName": "Zipcar (Goss)", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:41:57.000+0000", "updated": "2011-04-15T03:41:57.000+0000" }, { "id": "130516", "author": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

This will need to get ported back to the 1_6_X branch. Trying to\nfind out timing information. Please fix it on master and I'll let\nyou know when it gets picked back in.

{html}", "updateAuthor": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:41:57.000+0000", "updated": "2011-04-15T03:41:57.000+0000" }, { "id": "130517", "author": { "name": "opiecyrus", "key": "opiecyrus", "displayName": "Opie Cyrus", "active": true, "timeZone": "America/Chicago" }, "body": "{html}

(from [83df6eae31d162eb5714fdaf0dbb6913f2eaec8f])\n[#3314 state:fixed-in-qa] Respect\nvalidatesSecureCertificate setting

\n

Updated HTTP client to respect validatesSecureCertificate\nproperty on proxy when set. Change is also now respected for future\nrequests when changed between calls.
\n\nhttps://github.com/appcelerator/titanium_mobile/commit/83df6eae31d1...

{html}", "updateAuthor": { "name": "opiecyrus", "key": "opiecyrus", "displayName": "Opie Cyrus", "active": true, "timeZone": "America/Chicago" }, "created": "2011-04-15T03:41:58.000+0000", "updated": "2011-04-15T03:41:58.000+0000" }, { "id": "130518", "author": { "name": "opiecyrus", "key": "opiecyrus", "displayName": "Opie Cyrus", "active": true, "timeZone": "America/Chicago" }, "body": "{html}

The changed behavior can be verified using the resources\nattached to previously mentioned HD ticket.

{html}", "updateAuthor": { "name": "opiecyrus", "key": "opiecyrus", "displayName": "Opie Cyrus", "active": true, "timeZone": "America/Chicago" }, "created": "2011-04-15T03:41:58.000+0000", "updated": "2011-04-15T03:41:58.000+0000" }, { "id": "130519", "author": { "name": "nhuynh", "key": "nhuynh", "displayName": "Natalie Huynh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Tested with Titanium SDK version: 1.7.0 (03/17/11 10:02\n630a276)
\nEmulator 2.1
\n[INFO] [63,181442] Sending request with\nvalidatesSecureCertificate = false [INFO] [8,185784] onerror{success \"We weren't able to find a user with that\nusername or Zipcard number. Please try entering it again.\"}\n[INFO] [21,336194] Sending request with\nvalidatesSecureCertificate = true [INFO] [5,337560] onerror

\n

Nexus S
\n(kroll$2: file:///android_asset/Resources/app.js) [18,4275] Sending\nrequest with validatesSecureCertificate = false (kroll$2:\nfile:///android_asset/Resources/app.js) [39,51051] Sending request\nwith validatesSecureCertificate = true

{html}", "updateAuthor": { "name": "nhuynh", "key": "nhuynh", "displayName": "Natalie Huynh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:41:58.000+0000", "updated": "2011-04-15T03:41:58.000+0000" } ], "maxResults": 5, "total": 5, "startAt": 0 } } }