Puoi eseguire l’elenco consentiti delle app iOS utilizzando lo strumento Machotools di Adobe.
In genere, quando si completa un'applicazione TVSDK, è possibile utilizzare gli strumenti della riga di comando Adobe Primetime DRM per eseguire l'elenco consentiti dell'app.
È inoltre possibile utilizzare questi strumenti per creare criteri DRM e crittografare i contenuti.
Consenti l’inserimento nell’app per garantire che i contenuti protetti possano essere riprodotti solo nel lettore video. Tuttavia, per inserire un’applicazione iOS nell’elenco Consentiti è necessario completare una procedura speciale che funziona con i criteri di invio delle applicazioni di Apple.
Prima di inviare un’app iOS, devi firmarla e pubblicarla in Apple.
Apple elimina la firma dello sviluppatore e firma nuovamente l’applicazione con il proprio certificato.
A causa della rifirma, le informazioni sull’elenco Consentiti generate prima dell’invio all’App Store di Apple non sono utilizzabili.
Per utilizzare questo criterio di invio, Adobe ha creato un machotools
strumento che consente di rilevare le impronte digitali dell’applicazione iOS per creare un valore digest, firmare questo valore e inserirlo nell’applicazione iOS. Dopo aver inserito le impronte digitali nell’app iOS, puoi inviarla all’App Store di Apple. Quando un utente esegue l’app da App Store, Primetime DRM esegue un calcolo in fase di esecuzione dell’impronta digitale dell’applicazione e la conferma con il valore digest precedentemente inserito nell’applicazione. Se l’impronta digitale corrisponde, l’app viene confermata come inserita nell’elenco Consentiti e il contenuto protetto può essere riprodotto.
L’Adobe machotools
è incluso nell'SDK di iOS TVSDK, nel […]/tools/DRM.
Da utilizzare machotools
:
Genera una coppia di chiavi.
Per utilizzare una utility come OpenSSL, aprire una finestra di comando e immettere quanto segue:
openssl genrsa -des3 -out selfsigncert-ios.key 1024
Quando richiesto, immettere una password per proteggere la chiave privata.
Le password devono contenere almeno 12 caratteri e i caratteri devono includere una combinazione di caratteri ASCII maiuscoli e minuscoli e numeri.
Per utilizzare OpenSSL per generare una password sicura, aprire una finestra di comando e immettere quanto segue:
openssl rand -base64 8
Genera una richiesta di firma del certificato (CSR, Certificate Signing Request).
Per utilizzare OpenSSL per generare una CSR, aprire una finestra di comando e immettere quanto segue:
openssl req -new -key selfsigncert-ios.key -out selfsigncert-ios.csr -batch
Firma autonomamente il certificato e immetti una durata.
L’esempio seguente fornisce una scadenza di 20 anni:
openssl x509 -req -days 7300 -in selfsigncert-ios.csr
-signkey selfsigncert-ios.key -out selfsigncert-ios.crt
Converti il certificato autofirmato in un file PKCS#12:
openssl pkcs12 -export -out selfsigncert-ios.pfx
-inkey selfsigncert-ios.key -in selfsigncert-ios.crt
Puoi utilizzare il certificato autofirmato per firmare la tua app iOS.
Aggiornare il percorso del file PFX e la password.
Prima di creare l’applicazione in Xcode, passa a Build Phases > Run Script e aggiungi il seguente comando allo script di esecuzione:
mkdir -p "${PROJECT_DIR}/generatedRes" "${PROJECT_DIR}/machotools" sign
-in "${CODESIGNING_FOLDER_PATH}/${EXECUTABLE_NAME}"
-out "${PROJECT_DIR}/generatedRes/AAXSAppDigest.digest"
-pfx "${PROJECT_DIR}/selfsigncert-ios.pfx"
-pass PASSWORD
Esegui machotools per generare il valore hash dell'ID editore dell'app.
./machotools dumpMachoSignature -in ${PROJECT_DIR}/generatedRes/AAXSAppDigest.digest
Creare un nuovo criterio DRM o aggiornare il criterio esistente per includere il valore hash dell'ID editore restituito.
Utilizzo di AdobePolicyManager.jar, crea un nuovo criterio DRM (aggiorna il criterio esistente) per includere il valore hash dell'ID editore restituito, un ID app opzionale e gli attributi di versione min e max nel flashaccess-tools.properties file.
java -jar libs/AdobePolicyManager.jar new app_allowlist.pol
Crea un pacchetto dei contenuti utilizzando la nuova policy DRM e conferma la riproduzione dei contenuti consentiti elencati nella tua app iOS.