Sono interessato ad avere qualcosa che cifrare utilizzando una chiave pubblica su un server di LAMPhp, decriptato utilizzando la chiave privata appropriata sul client web (Firefox, almeno, meglio se si tratta di JavaScript standard)Get Firefox per decifrare utilizzando parte privata del certificato client
si noti che ciò che voglio fare è -non- solo di avere una connessione crittografata utilizzando SSL/HTTPS. O anche per utilizzare i certificati client basati su browser come metodo di controllo dell'accesso/accesso. So come fare entrambe le cose. Quello che voglio fare è più come l'email con le chiavi gpg. Voglio essere in grado di creare un breve messaggio che crittograferò con una chiave pubblica degli utenti che, solo loro, possono decifrare usando la loro chiave privata. Quello che sto cercando non è la privacy ottenuta automaticamente da ssl, ma la possibilità di consentire solo a determinati utenti di decodificare i messaggi. So che posso farlo facilmente con gpg o forse SMIME, e forse è il modo migliore, ma preferirei un'alternativa basata sul web.
Firefox ecc. Ha un archivio di certificati e so che le chiavi private presenti non sono esportabili in javascript per ovvi motivi di sicurezza, ma suppongo che ci sia un modo per -utilizzare- i certificati dalle chiamate javascript a decifrare qualcosa ..
La ragione per cui mi piacerebbe fare questo, è che ho bisogno di un metodo sicuro per dare una password generata in modo casuale a un amministratore particluar. Sto cercando di implementare la traslucenza del database completo e la crittografia a chiave pubblica sembra una parte importante di questo sforzo. Ma questo è un caso d'uso che ho problemi ad affrontare senza questo tipo di abilità.
Così sul lato php vorrei utilizzare le chiamate di crittografia OpenSSL in questo modo ...
<?php
$browsers_public_key = get_it_from_the_browser_via_apache_maybe();
openssl_public_encrypt($data,$encrypted_ends_up_here,$browsers_public_key);
echo "<html><head>
<script type='javascript'>
function decrypt_textarea(){
??
}
</script>
</head>
<body><textarea id='decrypt_me'> $encrypted_ends_up_here </textarea>
<div id='where_the_plaintext_goes'> </div>
</body> </html>";
?>
Nota che ho trovato tramite stackedoverflow molte belle librerie javascript encrypton ... ma io in realtà voglio usare i tasti importati in Firefox come per MyOpenId.com o CaCert.org
qualcuno sa se questo è possibile?
Grazie, -FT
Ho chiarito che non ho bisogno di SSL qui. So come crittografare la connessione stessa. Sto cercando le funzionalità di privacy della crittografia a chiave pubblica, ma in un browser web piuttosto che in gpg .. – ftrotter