Browse Source

update for keychain

pull/8/head
Tim Glasgow 2 years ago
parent
commit
df9f07a1fd
  1. 45
      squarenotsquare/__mock__/mockKeyStore.js
  2. 2
      squarenotsquare/jest.config.js
  3. 6
      squarenotsquare/src/realm/DbInit.js
  4. 6
      squarenotsquare/src/services/Keystore.js

45
squarenotsquare/__mock__/mockKeyStore.js

@ -1,32 +1,29 @@
class MockKeyStore {
async remove(key) {
if (key === 'notakey') {
throw ('Key not found');
}
return true;
export async function resetInternetCredentials(key) {
if (key === 'notakey') {
throw ('Key not found');
}
return true;
}
async set(key, value) {
if (key === 'savefailed'){
throw ('Failed to save key');
}
return true;
export async function setInternetCredentials(key, value, placeholder) {
if (key === 'savefailed'){
throw ('Failed to save key');
}
async get(key) {
if (key === 'isNull'){
return null;
} else if (key === 'negTest') {
return '-1';
} else if (key === 'notakey') {
throw ('Key not found');
} else {
return '1234567890';
}
}
return true;
}
export default RNSecureKeyStore = new MockKeyStore();
export async function getInternetCredentials(key) {
if (key === 'isNull'){
return false;
} else if (key === 'negTest') {
return {username: '-1'};
} else if (key === 'notakey') {
throw ('Key not found');
} else {
return {username: '1234567890'};
}
}
export const ACCESSIBLE = {
AFTER_FIRST_UNLOCK :'AccessibleAfterFirstUnlock',

2
squarenotsquare/jest.config.js

@ -6,7 +6,7 @@ module.exports = {
moduleDirectories: ['node_modules', 'src'],
moduleNameMapper: {
// '@react-native-firebase/messaging: '<rootDir>/__mock__/mockFirebase.js',
'react-native-secure-key-store': '<rootDir>/__mock__/mockKeyStore.js',
'react-native-keychain': '<rootDir>/__mock__/mockKeyStore.js',
'\\.(jpg|ico|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '<rootDir>/__mock__/file.js',
'^(realm)': '<rootDir>/__mock__/mockRealmObject'
},

6
squarenotsquare/src/realm/DbInit.js

@ -22,14 +22,14 @@ export async function initDB(dbKeyRef = 'squareDB', dbLocation = Realm.defaultPa
try {
let fromStore = await KeyStore.getKey(dbKeyRef);
if (fromStore === null) {
if (fromStore === false) {
let newKey = generateKey();
await KeyStore.setKey(dbKeyRef, newKey);
fromStore = await KeyStore.getKey(dbKeyRef);
fromStore = newKey;
}
let dbKey = new Uint8Array(64);
if (fromStore !== null){
if (fromStore !== false){
for (let i = 0; i < 64; ++i){
dbKey[i] = fromStore.charAt(i);
}

6
squarenotsquare/src/services/Keystore.js

@ -39,7 +39,11 @@ export async function getKey(key) {
let value = null;
await getInternetCredentials(key).then(
(res) => {
value = res.username;
if (res === false) {
value = false;
} else {
value = res.username;
}
},
(err) => {
value = null;

Loading…
Cancel
Save