Plugin info

Total downloads: 3,082
Active installs: 10
Total reviews: 2
Average rating: 5
Support threads opened: 0
Support threads resolved: 0 (0%)
Available in: 1 language(s)
Contributors: 1
Last updated: 7/17/2013 (4597 days ago)
Added to WordPress: 7/14/2013 (12 years old)
Minimum WordPress version: 3.1
Tested up to WordPress version: 3.5.2
Minimum PHP version: f

Maintenance & Compatibility

Maintenance score

Possibly abandoned • Last updated 4597 days ago • 2 reviews

22/100

Is Client Certificate Authentication abandoned?

Possibly abandoned (last update 4597 days ago).

Compatibility

Requires WordPress: 3.1
Tested up to: 3.5.2
Requires PHP: f

Similar & Alternatives

Explore plugins with similar tags, and compare key metrics like downloads, ratings, updates, support, and WP/PHP compatibility.

No similar plugins found yet.

Description

The Client Certificate Authentication plugin enables WordPress to login a user with a SSL client certificate. The plugin uses the email address from the subject field to identify the user by the email address of his wordpress account. Optionally, new accounts can be created on the fly by using email address and name from the certificate. By limiting login and registration to users providing a client certificate, bots are locked out and spam is eliminated.

Acknowledgements: This plugin is based on the HTTP Authentication plugin by Daniel Westermann-Clark. Ideas taken from Dan B.’s implementation for client certificate authentication.

Installation

  1. Login as an existing user, such as admin.
  2. Upload the client-certificate-authentication folder to your plugins folder, usually wp-content/plugins. (Or simply via the built-in installer.)
  3. Activate the plugin on the Plugins screen.
  4. Logout.
  5. Require certificate authentication for wp-login.php and wp-admin.
  6. Try logging in with your client certificate.

Frequently Asked Questions

How should I set up client certificate authentication?

This depends on your hosting environment and your means of authentication.
The plugin uses the $_SERVER environment variables SSL_CLIENT_S_DN_Email (beginning with) for the email address and SSL_CLIENT_S_DN_CN for the name.
A working example is given below:

In Apache HTTP (non-HTTPS) config add:

RewriteEngine On
RewriteRule ^/(wp-(admin|login\.php).*) https://%{HTTP_HOST}/$1

In Apache HTTPS config:

<Location /wp-login.php>
    SSLVerifyClient optional
    <IfModule mod_rewrite.c>
        RewriteEngine   on
        RewriteCond  %{HTTP_USER_AGENT}  .*Safari.*
        RewriteCond  %{SSL:SSL_CLIENT_VERIFY} !=SUCCESS
        RewriteRule  .* /wp-admin [redirect,last]
    </IfModule>
</Location>
<Location /wp-admin>
    SSLVerifyClient require
</Location>

Also make sure to set SSLCACertificatePath and enable CRL checks.

Review feed

No reviews available

Screenshots

No screenshots available

Changelog

1.0

Initial release.

1.0.1

Documentation updates.

1.0.2

Fixes to the short description.