Ho un'applicazione web lato client in esecuzione su SharePoint Site Collection, ogni raccolta siti ha il proprio ID univoco. Voglio utilizzare una procedura di licenza per bloccare l'app in una raccolta siti.
Questa è la procedura di risposta alla sfida che sto tentando di implementare:
- Utente richiesto per generare
challenge code -
challenge codeèsite_collection_idelaborato tramite qualche funzione - Email dell'utente me
challenge code - Cifratura / hash
challenge codecon qualcosa (chiave privata RSA?) - Il risultato crittografato è considerato il
license keyche invio all'utente - L'utente salva
license keynell'applicazione
Processo di convalida:
- Sul caricamento dell'app, recupera
license key - Decrypt / un-hash
license keyutilizzando qualcosa (chiave pubblica RSA?) - Il risultato è il
challenge codeche l'utente ha inviato prima - Confronta il
challenge codegenerato dalicensea quello che otterresti dal sito per determinare se corrispondono
Ha senso? L'unica cosa di cui non sono sicuro è la chiave pubblica / privata e se c'è un modo per farlo in JavaScript. Da quello che ho letto, non posso usare RSA in modo sicuro per crittografare con la chiave privata e decifrare con pubblico. Normalmente è il contrario. Quindi sto cercando alternative
Per essere chiari, ho bisogno di archiviare qualcosa nello script dell'applicazione che posso usare per decrittare la licenza, ma dovrei crittografare il codice di sfida su un sito diverso o sul lato server
So che è impossibile proteggere al 100% le applicazioni lato client. Sto solo cercando qualcosa che impedisca a qualcuno facilmente di distribuire l'applicazione