=== OpenPGP Form Encryption for WordPress === Contributors: arnesonium Tags: forms, encryption, pgp, gnupg, openpgp, contact form 7, contact form Requires at least: 4.0 Tested up to: 4.9.1 Stable tag: v1.5.1 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Donate link: https://cash.me/$ErikLArneson OpenPGP public key encryption for any textarea with a shortcode button. == Description == This plugin uses [OpenPGP.js](http://openpgpjs.org/) 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. **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](http://jetpack.me/) contact form. You can see an example of the output on my [Contact page](http://arnesonium.com/contact/). 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](http://contactform7.com/). 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:

[cryptbutton keyid:42 "Encrypt"] [submit "Send"]

== Installation == To install this plugin, follow these directions: 1. Download the latest zip file from [the releases page](https://github.com/pymander/wordpress-openpgp/releases). 1. Next, load up your WordPress blog’s dashboard, and go to **Plugins > Add New**. 1. Upload the zip file. 1. Click **Activate**. == Frequently Asked Questions == = 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](https://emailselfdefense.fsf.org/en/), which has instructions for multiple operating systems. == Screenshots == 1. A textarea that has been encrypted, including a view of the "Encrypt" button. == Changelog == = 1.5.1 = * Escaped outputs to avoid XSS vulnerabilities. * Removed 'style' option from the cryptbutton shortcode. = 1.5.0 = * Fixed support for newer version of Contact Form 7 * Update to OpenPGP.js 2.6.1 with new API = 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. == Upgrade Notice == There is no pressing need to upgrade to the latest version. If you're on at least version 1.0, everything should be just dandy for you.