Czy można zażądać wygenerowania klucza klienta w przeglądarce i wysłać jawny klucz publiczny do urzędu certyfikacji serwera? Następnie instalujesz podpisany certyfikat w przeglądarce użytkownika?Generowanie poświadczeń po stronie klienta w przeglądarce i podpisywanie na serwerze
Scenariusz:
- użytkownik otworzy https://examle.com/ strona, tożsamość serwera jest weryfikowana
- Użytkownik żąda utworzenia konta
- parę kluczy jest generowana w przeglądarce użytkownika, a nie ujawniła się z serwerem/CA
- pubkey jest wysyłany na serwer w celu podpisania
- Serwer podpisuje klucz i generuje certyfikat
- Certyfikat jest wysyłany do klienta i instalowany w przeglądarce razem z kluczem prywatnym
Następnym razem, gdy klient łączy się z serwerem, jego tożsamość jest weryfikowana na podstawie certyfikatu klienta.
Byłoby miło, gdyby serwer mógł wymusić/podpowiedzieć klientowi, aby chronić swój klucz prywatny za pomocą szyfrowania hasłem.
Widziałem bankowość online za pomocą apletu Java do tego zadania. Czy można to zrobić używając rodzimych możliwości przeglądarki? Apache/PHP lub Node.js byłoby mile widziane.
Jak używać klucza prywatnego do deszyfrowania danych (w przypadku znaczników HTML5/kegen)? – MhdSyrwan
Element '' jest uznany za przestarzały zgodnie z [W3C] (http://w3c.github.io/html/sec-forms.html#elementdef-keygen), [WHATWG] (https: //html.spec.whatwg .org/multipage/forms.html # the-keygen-element) i [MDN] (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/keygen) i jest celowo wyłączony w Chrome od wersji 49. –