Я работаю над JS-скриптом (ru, который будет загружать приложение в intune. Когда я пытаюсь зафиксировать файл содержимого приложения в intune, я всегда получаю commitFileFailed, и я не вижу причин для этого. Есть ли способ выяснить, почему это не удается?
Я думаю, что это может быть из-за шифрования, но я не совсем уверен. Вот как я зашифровал это:
const key = Crypto.randomBytes(32);
const hmacKey = Crypto.randomBytes(32);
const iv = Crypto.randomBytes(16);
const cipher = Crypto.createCipheriv('aes256', key, iv);
const hmac = Crypto.createHmac('sha256', hmacKey);
const hash = Crypto.createHash('sha256');
let encrypted = cipher.update(originalFileBuffer);
encrypted = [...encrypted, ...cipher.final()];
const encryptedBuffer = Buffer.from(encrypted);
let encryptedHmac = hmac.update(encryptedBuffer);
let digest = hmac.digest('base64');
hash.update(Buffer.from(originalFileBuffer));
const fileDigest = hash.digest('base64');
const encryptionInfo = {
fileEncryptionInfo: {
'@odata.type': 'microsoft.graph.fileEncryptionInfo',
encryptionKey: Buffer.from(key).toString('base64'),
macKey: Buffer.from(hmacKey).toString('base64'),
initializationVector: Buffer.from(iv).toString('base64'),
mac: digest,
profileIdentifier: 'ProfileVersion1',
fileDigest: fileDigest,
fileDigestAlgorithm: 'SHA256'
}
};
И моя информация о шифровании выглядит так:
{
"encryptionKey": "5hYywG3rkdeMLSuvW6xyvA==",
"macKey": "0PVu0l0avph6p2E3HCpHIw==",
"initializationVector": "UQVtvxe4n28oWrMLz5ei9w==",
"mac": "hjD5yZnOPFJjgijB4vtdw+6Lh8U3X2Xnp8dOcscv/QI=",
"profileIdentifier": "ProfileVersion1",
"fileDigest": "wMlT8MU7Rm0BXzIj8STRCjjye/Hn0UQTqQ9A2eRb41U=",
"fileDigestAlgorithm": "SHA256"
}
И такой манифест:
<?xml version="1.0" encoding="utf-8"?>
<AndroidManifestProperties xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Package>test.android.app</Package>
<PackageVersionCode>1</PackageVersionCode>
<PackageVersionName>1.0.0</PackageVersionName>
<ApplicationName>TestApp.apk</ApplicationName>
<MinSdkVersion>4</MinSdkVersion>
<AWTVersion/>
</AndroidManifestProperties>
Любая помощь будет оценена по достоинству. Спасибо.