{ "id": "83959", "key": "TIMOB-6715", "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": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" }, { "id": "14157", "description": "Sprint 2012-20 API", "name": "Sprint 2012-20 API", "archived": true, "released": true, "releaseDate": "2012-10-08" }, { "id": "14272", "description": "2012 Sprint 20", "name": "2012 Sprint 20", "archived": true, "released": true, "releaseDate": "2012-10-08" } ], "resolution": { "id": "5", "description": "All attempts at reproducing this issue failed, or not enough information was available to reproduce the issue. Reading the code produces no clues as to why this behavior would occur. If more information appears later, please reopen the issue.", "name": "Cannot Reproduce" }, "resolutiondate": "2016-12-16T14:36:10.000+0000", "created": "2011-12-15T19:19:41.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "network", "qe-port" ], "versions": [ { "id": "12580", "description": "Dual Runtime 1.8.0", "name": "Release 1.8.0.1", "archived": true, "released": true, "releaseDate": "2011-12-22" }, { "id": "15422", "description": "Release 3.3.0", "name": "Release 3.3.0", "archived": false, "released": true, "releaseDate": "2014-07-16" }, { "id": "15972", "description": "Release 3.4.0", "name": "Release 3.4.0", "archived": false, "released": true, "releaseDate": "2014-09-28" } ], "issuelinks": [], "assignee": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-31T22:36:56.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": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "Currently on iOS, the {{Ti.Network.HTTPClient.validatesSecureCertificate}} property is always {{false}} by default, even in production. From the documentation description (which is the correct behavior):\r\n\r\nbq. False when running in the simulator or on device in testing mode, and true if built for release in distribution mode.\r\n\r\nTesting Steps:\r\n\r\n1. Run this code\r\n{code}\r\nvar xhr = Ti.Network.createHTTPClient();\r\nTi.API.info(\"validatesSecureCertificate: \" + xhr.validatesSecureCertificate);\r\n\r\n{code}", "attachment": [ { "id": "50467", "filename": "ios.PNG", "author": { "name": "pagarwal", "key": "pagarwal", "displayName": "Priya Agarwal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-08-14T08:21:34.000+0000", "size": 14770, "mimeType": "image/png" } ], "flagged": false, "summary": "iOS: validatesSecureCertificate default value is always \"false\"", "creator": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "closedSprints": [ { "id": 3, "state": "closed", "name": "Release 3.0.0", "startDate": "2012-09-27T05:26:46.636Z", "endDate": "2012-10-08T20:05:00.000Z", "completeDate": "2012-12-20T17:03:19.403Z" } ], "comment": { "comments": [ { "id": "198931", "author": { "name": "corthlieb", "key": "corthlieb", "displayName": "Carl Orthlieb", "active": true, "timeZone": "America/Los_Angeles" }, "body": "mFoundry needs this in 2.2. Additional question is how to deal with this flag for remote image requests in Image Views?", "updateAuthor": { "name": "corthlieb", "key": "corthlieb", "displayName": "Carl Orthlieb", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-06-18T10:57:43.000+0000", "updated": "2012-06-18T10:57:43.000+0000" }, { "id": "198935", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The solution is to explicitly set {{Ti.Network.HTTPClient.validatesSecureCertificate}} to {{true}}.", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-06-18T11:11:57.000+0000", "updated": "2012-06-18T11:11:57.000+0000" }, { "id": "198936", "author": { "name": "corthlieb", "key": "corthlieb", "displayName": "Carl Orthlieb", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Should be set to true if built for release in distribution mode, correct? Or are you suggesting a workaround? The customer is aware of the workaround but wants iOS to follow the spec.", "updateAuthor": { "name": "corthlieb", "key": "corthlieb", "displayName": "Carl Orthlieb", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-06-18T11:18:24.000+0000", "updated": "2012-06-18T11:18:24.000+0000" }, { "id": "221801", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Fixed in master by https://github.com/appcelerator/titanium_mobile/pull/3054", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-10-02T22:19:25.000+0000", "updated": "2012-10-02T22:19:25.000+0000" }, { "id": "234628", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing as fixed.\nTested and verified with:\nTitanium Studio, build: 3.0.1.201212181159\nTitanium SDK, build: 3.0.0.GA\niOS simulator 6.0\nDevice:\niPad mini iOS 6.0.2", "updateAuthor": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-01-16T12:09:26.000+0000", "updated": "2013-01-16T12:09:26.000+0000" }, { "id": "318625", "author": { "name": "pagarwal", "key": "pagarwal", "displayName": "Priya Agarwal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Reopening the issue.\r\nGetting validateSecureCertificate value as \"undefined\".\r\n\r\nVerified with:\r\nAppcelerator Studio:3.3.0.201407111535\r\nSdk:3.3.0.GA\r\nalloy:1.4.1\r\ntitanium:3.3.0\r\ntitanium-code-processor:1.1.1\r\nacs:1.0.15\r\nnpm:1.3.2\r\nOS:Maverick(10.9.4)\r\nDevice: iPhone5(v7.1.2)\r\nxcode: Xcode6Beta5\r\n\r\nCode used:\r\n{code}\r\nvar xhr = Ti.Network.createHTTPClient();\r\nTi.API.info(\"validatesSecureCertificate: \" + xhr.validatesSecureCertificate);\r\n\r\nvar win=Ti.UI.createWindow({});\r\nvar label=Ti.UI.createLabel({color:\"red\"});\r\nlabel.text=\"validatesSecureCertificate: \" + xhr.validatesSecureCertificate;\r\n\r\nwin.add(label);\r\nwin.open();\r\n{code}\r\n\r\nAttaching the screenshot.", "updateAuthor": { "name": "pagarwal", "key": "pagarwal", "displayName": "Priya Agarwal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-08-14T08:21:03.000+0000", "updated": "2014-08-14T08:21:03.000+0000" }, { "id": "318629", "author": { "name": "djha", "key": "djha", "displayName": "Dhirendra Jha", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Tried the same code with below environment (SDK 3.2.3.GA) - \r\nAppcelerator Studio:3.3.0.201407111535\r\nSdk:3.2.3.GA\r\nalloy:1.4.1\r\ntitanium:3.3.0\r\ntitanium-code-processor:1.1.1\r\nacs:1.0.15\r\nnpm:1.3.2\r\nOS:Maverick(10.9.4)\r\nDevice: iPhone5(v7.1.2)\r\nxcode: Xcode5.1.1\r\n\r\nResult - Getting validateSecureCertificate value as expected \"false\".", "updateAuthor": { "name": "djha", "key": "djha", "displayName": "Dhirendra Jha", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-08-14T08:41:26.000+0000", "updated": "2014-08-14T08:41:26.000+0000" }, { "id": "324569", "author": { "name": "mcota", "key": "mcota", "displayName": "Marco Cota", "active": false, "timeZone": "America/Los_Angeles" }, "body": "We have received reports from customer about this issue, during a call with them we notice that validatesSecureCertificate returns 'undefined' if the value is not manually set, this is causing problems with the development environment as they use self-signed certificates and if the value is not 'false' they receive errors from their server.\r\n\r\nh4.Workaround\r\n{code}\r\nvar xhr = Ti.Network.createHTTPClient();\r\nxhr.validatesSecureCertificate = false;\r\nTi.API.info(\"validatesSecureCertificate: \" + xhr.validatesSecureCertificate);\r\n{code}\r\n\r\nThis issue is present in SDK 3.3.0 and 3.4.0 but is working as expected on 3.2.3.", "updateAuthor": { "name": "mcota", "key": "mcota", "displayName": "Marco Cota", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2014-09-18T18:57:32.000+0000", "updated": "2014-09-19T12:38:49.000+0000" }, { "id": "403505", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "The provided example code works in newer versions of the SDK, tested with 6.0.x and 6.1.0.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-12-16T14:36:10.000+0000", "updated": "2016-12-16T14:36:10.000+0000" } ], "maxResults": 9, "total": 9, "startAt": 0 } } }