у нас есть одно приложение, где мы извлекаем некоторую конфиденциальную информацию из одного из инструментов дизайна продукта.Таким образом, мы использовали HTTPS в качестве канала, а также шифруем параметры запроса и некоторые данные перед тем, как отправить их в веб-службы.Итак, все кажется нормальным.
Но когда мы дали заявку на аудит безопасности, они обнаружили, что мы жестко закодировали ключ шифрования в исходном коде.Они использовали Sothink SWF Decompiler, чтобы просмотреть мой SWF-файл.Они поймали ключ и выразили обеспокоенность по поводу него.
Мы разработали это приложение с использованием Flex 3 (SDK 3.4).Есть ли лучший способ использовать секретный ключ без жесткого кодирования в исходном коде.Если кто-нибудь сталкивался с такой проблемой, пожалуйста, дайте мне знать.
Кто-нибудь, пожалуйста, предложите мне лучший способ использовать секретные ключи в SourceCode без жесткой кодировки.
Вот мой пример кода:
var currentResult:String = "";
var strDataToEncrypt:String = "";
var kdata:ByteArray;
var todayDate:Date = new Date();
kdata = Hex.toArray(Hex.fromString("secretKey here"));
strDataToEncrypt =username.toUpperCase() + "#$#" + password + "#$#" + todayDate.getTime().toString();
var data:ByteArray;
data = Hex.toArray(Hex.fromString(strDataToEncrypt))
var name:String = "des3-ecb";
var pad:IPad = new PKCS5;
var mode:ICipher = Crypto.getCipher(name, kdata, pad);
pad.setBlockSize(mode.getBlockSize());
mode.encrypt(data);
currentResult = Base64.encodeByteArray(data);
var token:String = currentResult;