This plugin uses OpenPGP.js to provide public key encryption for a textarea. It is most useful for any kind of text area that will be submitted via email or over an unsecured network connection.
To install this plugin, follow these directions:
- Download the latest zip file from the releases page.
- Next, load up your WordPress blog’s dashboard, and go to Plugins > Add New.
- Upload the zip file.
- Click Activate.
OpenPGP for WordPress requires access to an OpenPGP public key in ASCII armored form. For more information on key generation and OpenPGP, I recommend the Email Self-Defense website, which has instructions for multiple operating systems.
This plugin provides a simple shortcode which you can add to your forms. To use the shortcode, you must first upload your ASCII-armored public key to your blog’s media section. Note that the public key must reside on the same server as your blog.
The cryptbutton
shortcode takes the following arguments.
keyid The media ID of your ASCII-armored public key. Either this or keyurl are required.
keyurl The URL for your ASCII-armored public key. Either this argument or keyid are required.
textarea The HTML ID of the textarea element to be encrypted. This argument is optional.
class Optional. Specify additional CSS classes for the button element.
text Optional. Specify the button text. This defaults to “Encrypt”.
I use this plugin with the Jetpack for WordPress contact form. You can see an example of the output on my Contact page. The WordPress code looks something like this:
[contact-form subject='ARNESONIUM CONTACT']
[contact-field label='Name' type='name' required='1'/]
[contact-field label='Email' type='email' required='1'/]
[contact-field label='Phone' type='text'/]
[contact-field label='Comment' type='textarea' required='1'/]
[cryptbutton keyid=42]
[/contact-form]
Line 6 displays the cryptbutton usage. Note that I changed some elements of this example to make things clearer. You will need to play with layout and CSS to get things looking nice.
For support and bug reports, please visit the GitHub project page.
This plugin uses OpenPGP.js, which can be found here: http://openpgpjs.org/
A version is included with the plugin so that this software doesn't have to worry about API changes and so that end users don't have to worry about downloading multiple pieces of software.