Situazione
Sto facendo uno stage in un'azienda e attualmente sto lavorando a un'applicazione web con le seguenti caratteristiche:
- Questa è un'applicazione privata, gli utenti possono essere aggiunti solo da un amministratore dell'applicazione
- Gli utenti possono aggiungere file PDF online
- Quei file sono memorizzati nel server delle applicazioni
La mia missione di tirocinante è la seguente:
- Devo implementare una funzionalità che consente ai clienti di firmare i file PDF utilizzando questo meccanismo.
Deve essere semplice da utilizzare: un pulsante "Firma" accanto al file e il server lo firma automaticamente utilizzando il certificato utente. L'idea di base è che ogni cliente riceverà un certificato quando viene creato il suo account (l'autorità di certificazione sarà ritenuta attendibile dall'applicazione). A un certo punto dovrò ottenere la chiave privata dell'utente in plaintexte per firmare il file sul server (sto pensando di usare phpseclib libreria per leggere i certificati).
Domanda
-
Devo memorizzare i certificati degli utenti e / o le chiavi private sul server? * Non esiste un modo migliore per archiviare le chiavi private degli utenti, ad esempio un'applicazione Web affidabile con API REST o un modo semplice per accedervi?
-
Modifica: la mia situazione si è evoluta e ora la mia domanda è più simile alla seguente:
- È sicuro memorizzare file .pfx o p12 sul server? So che contengono chiavi private, ma il file è davvero sicuro (diciamo che c'è una password client per ogni file).
Nota: sono ancora uno studente e non un esperto in sicurezza, per favore dimmi se hai bisogno di ulteriori informazioni per rispondere.