[MOD-2363] Android: ti.touchid does not decode Keychain data correctly
| GitHub Issue | n/a |
|---|---|
| Type | Bug |
| Priority | Critical |
| Status | Resolved |
| Resolution | Fixed |
| Resolution Date | 2017-11-14T21:58:30.000+0000 |
| Affected Version/s | n/a |
| Fix Version/s | n/a |
| Components | TouchID |
| Labels | n/a |
| Reporter | Gary Mathews |
| Assignee | Gary Mathews |
| Created | 2017-09-26T18:25:47.000+0000 |
| Updated | 2017-11-14T21:58:30.000+0000 |
Description
- ti.touchid can sometimes decode decrypted data incorrectly
*TEST CASE*
var TouchID = require('ti.touchid');
keychainItem = TouchID.createKeychainItem({
identifier: 'test_key',
accessControlMode: TouchID.ACCESS_CONTROL_TOUCH_ID_ANY // remove this to save without fingerprint authentication
}),
win = Ti.UI.createWindow({backgroundColor: 'white', layout: 'vertical'});
queue = [],
callback = function(e) {
if (queue.length) {
queue.shift().close();
}
alert(JSON.stringify(e, null, 1));
};
keychainItem.addEventListener('save', callback);
keychainItem.addEventListener('read', callback);
keychainItem.addEventListener('reset', callback);
keychainItem.addEventListener('update', callback);
button('SAVE', function() {
showFingerprint();
keychainItem.save('86c8153c-6d2c-421a-8e79-eae8ad0831ba');
});
button('READ', function() {
showFingerprint();
keychainItem.read();
});
button('RESET', function() {
showFingerprint();
keychainItem.reset();
});
button('UPDATE', function() {
showFingerprint();
keychainItem.update('test_update');
});
win.open();
function showFingerprint() {
if (keychainItem.accessControlMode !== TouchID.ACCESS_CONTROL_TOUCH_ID_ANY) return;
var win = Ti.UI.createWindow({backgroundColor: 'white'}),
img = Ti.UI.createImageView({image: 'http://bit.ly/2ur2X4u', width: 64, height: 64});
queue.push(win);
win.add(img);
win.open();
}
function button(title, click) {
var btn = Ti.UI.createButton({title: title, width: Ti.UI.FILL});
btn.addEventListener('click', click);
win.add(btn);
}
- SAVE and then READ data
- READ callback should return the full string 86c8153c-6d2c-421a-8e79-eae8ad0831ba
ti.touchid: https://github.com/appcelerator-modules/ti.touchid/pull/35