PKI key ring for your browser forms
JavaScript PHP Shell

jQuery plugin to impliment RSA public key encryption

Utilizes the pidCrypt libraries for client public key encryption while the associated PHP class uses OpenSSL to generate the necessary private/public key pairs used by this plug-in

Fork me @



  • Multiple key support
  • AES-256-CBC encryption of all keyring data
  • Modal window dialog for selection of appropriate keyring entry when multiple keys exist
  • HTML5 localStorage support
  • HTML5 sessionStorage support
  • Cookie support
  • Debugging output


Here is an screenshot of an impelmentation bound to a form with multiple public keys forcing a modal window pop-up along with debugging output at the bottom showing the encrypted public keys stored within the HTML5 storage options.



  • appID: Optional CSRF token
  • storage: HTML5 localStorage, sessionStorage and cookies supported
  • callback: Optional function used once server recieves encrypted data
  • preCallback: Optional function to perform prior to form submission
  • errCallback: Optional function to perform on errors


Here are a few usage examples to get you started

Default usage using HTML5 localStorage


Default Using HTML5 sessionStorage


Default using cookies (requires the jQuery cookie plug-in)


Example of using the callback method to process server response

$('#form').pidCrypt({callback:function(){ console.log(this); }});

Example of using the preCallback method to load a function prior to form submission

$('#form').pidCrypt({preCallback:function(){ console.log(this); }});

Example of using the errCallback method to load a function on error

$('#form').pidCrypt({preCallback:function(){ console.log(this); }});

Example of enabling a custom CSRF token (sets the X-Alt-Referer header value)

$('#form').pidCrypt({appID:'<?php echo $_SESSION['csrf-token']; ?>'});

Author: Jason Gerfen License: GPL (see LICENSE)