DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:dokucrypt2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
plugin:dokucrypt2 [2018-02-21 21:53] – [Known Issues / Feature Requests] sherriplugin:dokucrypt2 [2024-03-12 02:43] (current) Fumigator2
Line 2: Line 2:
  
 ---- plugin ---- ---- plugin ----
-description: A plugin to support client side cryptography. +description: A plugin to support client side cryptography 
-author     : Scott Moser (smoser@brickies.net), maintained by Sherri W. (@SherriOnline / http://SyntaxSeed.com)+author     : Scott Moser (smoser@brickies.net), maintained by Sherri Wheeler. (Twitter @SyntaxSeed / SyntaxSeed.com)
 type       : admin type       : admin
-lastupdate : 2017-11-08 +lastupdate : 2022-08-08 
-compatible : 2017-02-19b++compatible : 2018-04-22b+, 2020-07-29+
 depends    :  depends    : 
-conflicts  : aceeditor+conflicts  : aceeditor, fastwiki
 similar    : dokucrypt similar    : dokucrypt
 tags       : encryption, password tags       : encryption, password
  
-downloadurl: http://syntaxseed.com/downloads/plugin-dokucrypt2.zip +downloadurl: https://github.com/syntaxseed/dokucrypt2/archive/master.zip 
-bugtracker : # eg. http://github.com/sherri/dokuwiki-plugin-dokucrypt2/issues+bugtracker : https://github.com/syntaxseed/dokucrypt2/issues
 sourcerepo : https://github.com/syntaxseed/dokucrypt2 sourcerepo : https://github.com/syntaxseed/dokucrypt2
 donationurl:  donationurl: 
 +
 ---- ----
  
-:!: This replaces the: [[plugin:dokucrypt|Original DokuCrypt Plugin]].+This replaces the: [[plugin:dokucrypt|Original DokuCrypt Plugin]]. 
 + 
 +:!: I am looking for a new maintainer for this plugin. If interested, please contact me via my business contact form (https://www.avinus.com/contact).  --- [[user>sherri|sherri]] //2023-09-05 17:09//
  
  
 ===== Installation ===== ===== Installation =====
  
-This is a newly maintained version of the DokuCrypt plugin. It is fully patched for the latest version of Dokuwiki (last tested on Release 2017-02-19b "Frusterick Manners").+This is a newly maintained version of the DokuCrypt plugin. It is fully patched for the latest version of Dokuwiki.
  
-The [[http://syntaxseed.com/downloads/plugin-dokucrypt2.zip|download url]] above is the latest one. Install via the extension manager.+  * Fully tested on2018-04-22b+ "Greebo" 
 +  * Fully tested on:: 2020-07-29 "Hogfather"(Use version 2020-10-19 or later of DokuCrypt2.)
  
-Note: I have copied and updated this plugin due to it being very important for my day-to-day use. The original author hasn't touched it in years, and I hope he won't mind. 8-) +Search and install the plugin using the [[plugin:extension|Extension Manager]]. Refer to [[:Plugins]] on how to install plugins manually.
- +
-:!: **Requires patches after install, see below.**+
  
 +Note: Plugin is now maintained by Sherri Wheeler.
  --- [[user>sherri|Sherri]] //2017-06-26 04:45//  --- [[user>sherri|Sherri]] //2017-06-26 04:45//
  
-==== PATCH 1: Resolving problems with toolbar header buttons ==== 
  
-The header buttons in the editor toolbar are not working.+====== About ======
  
-**Here is the patch for version 2017-02-19b+:**+dokucrypt is a client side (javascript) cryptography plugin.  This plugins allows a user to store and access sensitive data in a dokuwiki.  All sensitive data is encrypted before it is submitted and decrypted on the clients machine.  A users' sensitive data will only be accessible when viewed with a javascript enabled browser and the proper pass phrase.  It will never be transmitted or stored in plain text, and you will avoid having passwords and sensitive data stored in plain text on the server.
  
-<code> +The Javascrypt (http://www.fourmilab.ch/javascrypt/) library is used for encryption and decryption to provide 256 Bit AES encryption.
---- \lib\scripts\edit-original.js +
-+++ \lib\scripts\edit.js +
-@@ -143,16 +143,17 @@ +
-  * @author Andreas Gohr <gohr@cosmocode.de> +
-  */ +
- function currentHeadlineLevel(textboxId){ +
-     var field = jQuery('#' + textboxId)[0], +
-         s = false, +
-         opts = [field.value.substr(0,getSelection(field).start)]; +
--    if (field.form.prefix) { +
--        // we need to look in prefix context +
--        opts.push(field.form.prefix.value); +
--    } +
-+        //if (field.form.prefix{  // Dokucrypt Plugin Mod +
-+        if (field.form && field.form.prefix) {  // Dokucrypt Plugin Mod +
-+            // we need to look in prefix context +
-+            opts.push(field.form.prefix.value); +
-+        } +
-  +
-     jQuery.each(opts, function (_, opt) { +
-         // Check whether there is a headline in the given string +
-         var str = "\n" + opt, +
-             lasthl = str.lastIndexOf("\n=="); +
-         if (lasthl !== -1) {+
  
-</code> +:!: **Warning:** This plugin should not replace a password manager or peer reviewed cryptography tools for high-priority use. Do not store mission critical type data with this plugin - I cannot be sure that the info is not cached by DokuWiki or the web browser.  --- [[user>sherri|sherri]] //2020-10-14 19:55//
-Posted by:  --- [[user>sherri|Sherri]] //2017/11/08 10:12//+
  
-=== Manual Patch Instructions ===+:!: **This plugin is provided without warranty or guarantee of any kind. Use at your own discretion.** --- [[user>sherri|sherri]] //2020-10-14 19:55//
  
-  - In the file ''/lib/scripts.edit.js'' +===== Releases =====
-  - Find the section: ''function currentHeadlineLevel(textboxId){'' +
-  - Inside that section (function), find: ''if (field.form.prefix) {'' +
-  - Change it to: ''if (field.form && field.form.prefix) {'' +
-  - That's it. +
-  - You may need to shift+refresh the page after changing this file.+
  
- +  * 2022-08-08: Added ability and setting for copying the contents to the clipboard on decrypt. 
-====== About ====== +    * Contributed by Thomas Schäfer (https://github.com/ternite). 
- +  * 2022-02-02: Preparatory fixes/testing for PHP 8Improvements for code style PSRs. 
-dokucrypt is a client side (javascriptcryptography plugin.  This plugins allows a user to store and access sensitive data in a dokuwiki.  All sensitive data is encrypted before it is submitted and decrypted on the clients machine.  A users' sensitive data will only be accessible when viewed with a javascript enabled browser and the proper pass phrase.  It will never be transmitted or stored in plain textand you will avoid having passwords and sensitive data stored in plain text on the server+  * 2021-05-18: Fix for internal link edit toolbar buttonIssue #12. 
- +  * 2021-03-03: Add wrapping for the pre tagContributed by dustin-something. 
-The Javascrypt (http://www.fourmilab.ch/javascrypt/) library is used for encryption and decryption to provide 256 Bit AES encryption.+  * 2020-10-19: Cosmetic changesadd CSS classes, collapse blocks by default. 
 +  * 2020-10-14: Temp fix for Dokuwiki 2020-07-29 "Hogfather". DecryptSecret button was not appearing on page edit
 +  * 2020-02-07: Updated for PHP v 7+. 
 +  * 2017-11-08: Fixed an issue with the heading buttons 'PATCH 1' required (above). Added plugin info text file. 
 +  * 2017-06-25Fork the original pluginPatch it upRelease for most recent DokuWiki versionCheers! 
  
 ===== Usage ===== ===== Usage =====
Line 91: Line 67:
  
   Hi world.  I have a secret.  Can you read it?   Hi world.  I have a secret.  Can you read it?
-  < SECRET>I like ice cream< /SECRET> +  <SECRET>I like ice cream.</SECRET>
- +
-  * **Note:** the space before 'SECRET' must be removed+
  
 When the user hits 'Save' (or a draft is attempted to be saved) a prompt will open, asking the user to enter a pass phrase key for the encryption.  Once supplied, the encryption will be done in the browser and the encrypted text submitted to the server. When the user hits 'Save' (or a draft is attempted to be saved) a prompt will open, asking the user to enter a pass phrase key for the encryption.  Once supplied, the encryption will be done in the browser and the encrypted text submitted to the server.
 +
 +=== Special Characters ===
 +
 +The less-than (<) and greater-than(>) symbols, if included in the enclosed text to encrypt, will break the decryption and cause some content to not be shown. To enter these characters in your content to be encrypted, use their HTML entity equivalents:
 +
 +  * < = Use: ''&lt;''
 +  * > = Use: ''&gt;''
  
 ==== Viewing Encrypted Data ==== ==== Viewing Encrypted Data ====
Line 102: Line 83:
  
 The encrypted text is compatible with javascrypt decryption (http://www.fourmilab.ch/javascrypt/jscrypt.html). The encrypted text is compatible with javascrypt decryption (http://www.fourmilab.ch/javascrypt/jscrypt.html).
 +
  
 ==== Editing Encrypted Data ==== ==== Editing Encrypted Data ====
Line 107: Line 89:
 To edit the encrypted data, the user needs to Edit the wiki page.  When first loaded, encrypted text will appear encrypted, surrounded by %%<ENCRYPTED>%% and %%</ENCRYPTED>%% tags.  To edit this text, the user needs to press the 'DecryptSecret' button between 'Save' and 'Preview', and supply the correct pass phrase.  The encrypted text will be decrypted to the 'SECRET' form showed above, and the use can edit in plaintext.  Submits or drafts will be encrypted before submission with the same pass phrase supplied. To edit the encrypted data, the user needs to Edit the wiki page.  When first loaded, encrypted text will appear encrypted, surrounded by %%<ENCRYPTED>%% and %%</ENCRYPTED>%% tags.  To edit this text, the user needs to press the 'DecryptSecret' button between 'Save' and 'Preview', and supply the correct pass phrase.  The encrypted text will be decrypted to the 'SECRET' form showed above, and the use can edit in plaintext.  Submits or drafts will be encrypted before submission with the same pass phrase supplied.
  
-===== Known Issues / Feature Requests ===== +==== Settings ====
- +
-  * The password prompt box should be an actual masked password field. //yes, this should be a must have!// --- [[user>Django|Django]] //2018-02-21 12:51// +
-    * This is/was a known issue with the original plugin. It would require a major fix to replace the basic js prompt with a custom popup. Not something I have time to do at the moment. --- [[user>sherri|Sherri]] //2018-02-21 21:50// +
- +
- +
-===== Releases ===== +
- +
-  * 2017-06-25 - Fork the original plugin. Patch it up. Release for most recent DokuWiki version. Cheers! +
-  * 2017-11-08 - Fixed an issue with the heading buttons 'PATCH 1' required (above). Added plugin info text file. +
- +
-===== Bugs - Please Itemize Bugs Here (newest at top) ===== +
- +
-==== (FIXED) Bug 3: Heading tool bar buttons not working. ==== +
- +
-A user emailed me to report that some js exceptions were being thrown when using the heading tool bar buttons.+
  
-=== Response ===+This plugin includes configuration settings.
  
-  * Some changes to the plugin have been made, and a PATCH 1 is available above to make a small change to DokuWiki's code itselfThese are required to fix this issue--- [[user>sherri|Sherri]] //2017-11-08 16:10//+  * ''copytoclipboard'' - If set to true, the plugin tries to copy the decrypted value to the clipboard. 
 +  * ''hidepasswordoncopytoclipboard'' - If set to true, the decrypted value will not be shown after being copied to the clipboard (see option 'copytoclipboard').
  
 +===== Known Issues =====
  
-==== (IN REVIEWBug 2Update required ? ====+  * May not work if the website including plugin control text is being translated into another language. 
 +  * Conflicts with Encrypted Passwords plugin (both plugins attempt to parse the <encrypt></encrypt> tag).  --- [[user>Fumigator2|Fumigator2]] //2024-03-12 02:41//
  
-2017-10-15:\\  +===== Feature Requests =====
-After installation via 'do=admin&page=extension&tab=search&q=' from within dokuwiki +
-I get a warning for pending update:+
  
-  UpdateVersion 2017-06-26 steht zum Download bereit.+Please use the [[https://github.com/syntaxseed/dokucrypt2/issues|GitHub Issues page]].
  
-=== Response === 
  
-   * I have released a new version. I'm hoping that adding the plugin info will fix this so that DokuWiki knows what the latest version is supposed to be. --- [[user>sherri|Sherri]] //2017-11-08 16:10//+===== Bugs Please Submit Bugs On GitHub =====
  
 +Please use the [[https://github.com/syntaxseed/dokucrypt2/issues|Issues page on GitHub]].
  
-==== (FIXED) Bug 1: GetInfo not implemented. ==== 
  
-after fresh install:  +==== Patches For Older Versions of DokuWiki ====
-  getInfo() not implemented in action_plugin_dokucrypt2 and /home/voa/htdocs/wiki/lib/plugins//dokucrypt2/plugin.info.txt not found. +
-  Verify you're running the latest version of the plugin. If the problem persists, send a bug report to the author of the dokucrypt2 plugin. +
-   +
-=== Response ===+
  
-  * This is fixed. As of the version 2017-08-11 I have added the plugin info file. --- [[user>sherri|Sherri]] //2017-11-08 16:10// +[[https://github.com/syntaxseed/dokucrypt2/blob/master/OLDER_VERSIONS.md|Documentation For Old-Version Patches]].
-   +
- +
plugin/dokucrypt2.1519246420.txt.gz · Last modified: 2018-02-21 21:53 by sherri

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki