OpenPGP Form Encryption for WordPress

Description

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.

The GitHub repository for this plugin is located at https://github.com/pymander/wordpress-openpgp

Usage

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
Optional. The HTML ID for the textarea element to be encrypted. When
this is omitted, the plugin will try to find the correct textarea
automatically.

class
Optional. Specify additional CSS classes for the button element.

style
Optional. Specify additional CSS styles for the button element.

text
Optional. Specify the button text. This defaults to “Encrypt”. You can
also use the shortcode as an open/close tag, and the contents will be
used as the button text.

Example

This example uses 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]Encrypt[/cryptbutton]
[/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.

Contact Form 7

This plugin also adds a cryptbutton shortcode to
Contact Form 7. Shortcodes use a slightly
different syntax with CF7. All of the options are still available, but
the example above would be used in a form like this:

<p>
[cryptbutton keyid:42 "Encrypt"]
[submit "Send"]
</p>

Installation

To install this plugin, follow these directions:

  1. Download the latest zip file from the releases page.
  2. Next, load up your WordPress blog’s dashboard, and go to Plugins > Add New.
  3. Upload the zip file.
  4. Click Activate.

FAQ

How do I get a public key?

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.

Reviews

Working with Gravity Forms

I needed to create a form to collect bank account / Credit Card numbers from clients, and I wanted an SSL / PGP combo, and that’s exactly what this plugin gave me. I simply:

  1. Created a key with GPG Tools (macOS 10.12.1)
  2. Right Click -> Export the public key to the desktop (.asc file)
  3. Uploaded that .asc file to the WordPress media library
  4. Found the ID of that uploaded media file (in the URL on the attachment page)
  5. Added the [cryptbutton] shortcode to an HTML block in the Gravity Form

And it worked! Now I have encrypted data being sent from the website to an email address. Great plugin!

Read all 1 review

Contributors & Developers

“OpenPGP Form Encryption for WordPress” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.4.0

  • Add support for Contact Form 7

1.3.1

  • Update to OpenPGP.js 1.2.0
  • Fix minor bugs

1.3.0

  • Update to OpenPGP.js 1.0.1
  • Tested against WordPress 4.2.2
  • Robust checks to make sure the browser can support OpenPGP.js

1.2

  • Automatically find textarea for encryption.
  • Fixed possible bug with plaintext modification.
  • Use open and close tags for custom button text.

1.1

  • Prepare everything for inclusion in WordPress Plugin repository.

1.0

  • First release.

0.9

  • Development pre-release.