Пример #1
0
        public static byte[] getCCD()
        {
            LogManager.WriteLine("--- Get CCD ---");
            byte[] ccdcBytes = (byte[])StorageUtils.getData(StorageUtils.kCCDC);
            LogManager.WriteLine("CCDC: ");
            PrintByteArray(ccdcBytes);
            byte[] cccBytes;
            if (!StorageUtils.IsStoredFlagActive(StorageUtils.kIsBlockingCodeActive))
            {
                cccBytes = PBKDF2.calculateCCCwithIDA(StorageUtils.getIDA());
            }
            else
            {
                try
                {
                    cccBytes = PBKDF2.calculateCCCwithCodBlq(lockCode, StorageUtils.getIDA());
                }
                catch (Exception)
                {
                    throw new LockCodeException();
                }
            }

            LogManager.WriteLine("CCC: ");
            PrintByteArray(cccBytes);
            byte[] ccdBytes = AES256.DecryptAES256CBC(StorageUtils.getAppIV(), ccdcBytes, cccBytes);
            LogManager.WriteLine("CCD: ");
            PrintByteArray(ccdBytes);
            return(ccdBytes);
        }