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_id
elaborato tramite qualche funzione - Email dell'utente me
challenge code
- Cifratura / hash
challenge code
con qualcosa (chiave privata RSA?) - Il risultato crittografato è considerato il
license key
che invio all'utente - L'utente salva
license key
nell'applicazione
Processo di convalida:
- Sul caricamento dell'app, recupera
license key
- Decrypt / un-hash
license key
utilizzando qualcosa (chiave pubblica RSA?) - Il risultato è il
challenge code
che l'utente ha inviato prima - Confronta il
challenge code
generato dalicense
a 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