Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Smimedemo #196

Open
wants to merge 58 commits into
base: master
Choose a base branch
from
Open

Smimedemo #196

wants to merge 58 commits into from

Commits on Oct 3, 2018

  1. First submission of a working CMS S/MIME encoding/decoding

    demo. Only works with the most up to date MUA which there
    only seems to be one open source project availabe at this
    time.
    
    Offloaded many switches into a separate config file named
    "smime.js". DOM operation centric routines where placed into
    "dom.js"
    
    Expanded the field which can be created in an X509
    certificate or PKCS10 to include alternate_name fields,
    including IP addresses. Removed email from the DN as it's
    depricated.
    
    Added nessesary parsing so multipart/signed messages can be
    parsed in this demo long with opaque signed.
    
    Expanded the amount of information extracted from included
    message certificates. Fields are first returned in an object
    with arrays, which are then proccessed into a table.
    
    Certificate chain for verification is extracted from the
    message at time of parsing.
    
    On branch smimedemo
    Changes to be committed:
    	new file:   examples/CMSSignedEncryptComplexExample/README.md
    	new file:   examples/CMSSignedEncryptComplexExample/SMIMESignEncryptionExample.xhtml
    	new file:   examples/CMSSignedEncryptComplexExample/dom.js
    	new file:   examples/CMSSignedEncryptComplexExample/es6.js
    	new file:   examples/CMSSignedEncryptComplexExample/package.json
    	new file:   examples/CMSSignedEncryptComplexExample/rollup.config.js
    	new file:   examples/CMSSignedEncryptComplexExample/smime.js
    David Koolhoven authored and David Koolhoven committed Oct 3, 2018
    Configuration menu
    Copy the full SHA
    9f23902 View commit details
    Browse the repository at this point in the history
  2. Remove bundle.js, accidentally included.

     On branch smimedemo
     Changes to be committed:
    	deleted:    examples/CMSSignedEncryptComplexExample/bundle.js
    David Koolhoven authored and David Koolhoven committed Oct 3, 2018
    Configuration menu
    Copy the full SHA
    fe5ca7c View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2018

  1. Changed line ending from LF to CRLF for windows users.

    Changes to be committed:
    	modified:   examples/CMSSignedEncryptComplexExample/README.md
    	modified:   examples/CMSSignedEncryptComplexExample/SMIMESignEncryptionExample.xhtml
    	modified:   examples/CMSSignedEncryptComplexExample/dom.js
    	modified:   examples/CMSSignedEncryptComplexExample/es6.js
    	modified:   examples/CMSSignedEncryptComplexExample/rollup.config.js
    	modified:   examples/CMSSignedEncryptComplexExample/smime.js
    David Koolhoven authored and David Koolhoven committed Oct 4, 2018
    Configuration menu
    Copy the full SHA
    6a4ba12 View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2018

  1. Rename directory.

    Changes to be committed:
    	new file:   SMIMESignedEncryptComplexExample/README.md
    	new file:   SMIMESignedEncryptComplexExample/SMIMESignEncryptionExample.xhtml
    	new file:   SMIMESignedEncryptComplexExample/dom.js
    	new file:   SMIMESignedEncryptComplexExample/es6.js
    	new file:   SMIMESignedEncryptComplexExample/package.json
    	new file:   SMIMESignedEncryptComplexExample/rollup.config.js
    	new file:   SMIMESignedEncryptComplexExample/smime.js
    
    Changes not staged for commit:
    	deleted:    CMSSignedEncryptComplexExample/README.md
    	deleted:    CMSSignedEncryptComplexExample/SMIMESignEncryptionExample.xhtml
    	deleted:    CMSSignedEncryptComplexExample/dom.js
    	deleted:    CMSSignedEncryptComplexExample/es6.js
    	deleted:    CMSSignedEncryptComplexExample/package.json
    	deleted:    CMSSignedEncryptComplexExample/rollup.config.js
    	deleted:    CMSSignedEncryptComplexExample/smime.js
    David Koolhoven authored and David Koolhoven committed Oct 5, 2018
    Configuration menu
    Copy the full SHA
    f55ec4e View commit details
    Browse the repository at this point in the history
  2. Changes to be committed:

    	modified:   examples/SMIMESignedEncryptComplexExample/dom.js
    	modified:   examples/SMIMESignedEncryptComplexExample/es6.js
    	modified:   examples/SMIMESignedEncryptComplexExample/smime.js
    David Koolhoven authored and David Koolhoven committed Oct 5, 2018
    Configuration menu
    Copy the full SHA
    180ec21 View commit details
    Browse the repository at this point in the history
  3. Transition from var to let. Renamed test file.

    Changes to be committed:
    	modified:   examples/SMIMESignedEncryptComplexExample/package.json
    David Koolhoven authored and David Koolhoven committed Oct 5, 2018
    Configuration menu
    Copy the full SHA
    0a04ead View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2018

  1. Switched from constructor calls to litteral calls where

    possible.
    
    Changes to be committed:
    	modified:   examples/SMIMESignedEncryptComplexExample/es6.js
    David Koolhoven authored and David Koolhoven committed Oct 10, 2018
    Configuration menu
    Copy the full SHA
    b776410 View commit details
    Browse the repository at this point in the history
  2. Removing copied files from branch.

    Changes to be committed:
    	deleted:    examples/CMSSignedEncryptComplexExample/README.md
    	deleted:    examples/CMSSignedEncryptComplexExample/SMIMESignEncryptionExample.xhtml
    	deleted:    examples/CMSSignedEncryptComplexExample/dom.js
    	deleted:    examples/CMSSignedEncryptComplexExample/es6.js
    	deleted:    examples/CMSSignedEncryptComplexExample/package.json
    	deleted:    examples/CMSSignedEncryptComplexExample/rollup.config.js
    	deleted:    examples/CMSSignedEncryptComplexExample/smime.js
    David Koolhoven authored and David Koolhoven committed Oct 10, 2018
    Configuration menu
    Copy the full SHA
    0b0671e View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2018

  1. Remove JSLint warnings. Must set following globals in JSLint:

    var Blob;
    var crypto;
    var TextEncoder;
    var TextDecoder;
    var context;
    var it;
    var assert;
    
    Options: Allow "this",
             Allow bitwise operators.
    David Koolhoven authored and David Koolhoven committed Oct 17, 2018
    Configuration menu
    Copy the full SHA
    5f06dc0 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2018

  1. Implemented "use strict" in accordance with the environment

    the functions would operate in.
    
    Removed one variable from the global space.
    David Koolhoven authored and David Koolhoven committed Oct 18, 2018
    Configuration menu
    Copy the full SHA
    73edf63 View commit details
    Browse the repository at this point in the history
  2. Text box label will now appear above as a block rather than

    to the left.
    David Koolhoven authored and David Koolhoven committed Oct 18, 2018
    Configuration menu
    Copy the full SHA
    25e542c View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2018

  1. Parsed certificate table generator now produces internal

    tables to list Subject attribute value pairs, and alt name
    rather than generating a DN string and an unordered.
    David Koolhoven authored and David Koolhoven committed Oct 19, 2018
    Configuration menu
    Copy the full SHA
    0913807 View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2018

  1. Corrected a problem when clicking import certificates.

    David Koolhoven authored and David Koolhoven committed Oct 22, 2018
    Configuration menu
    Copy the full SHA
    be74514 View commit details
    Browse the repository at this point in the history
  2. Merge remote-tracking branch 'upstream/master' into smimedemo

    Syncing this fork with upstream.
    David Koolhoven authored and David Koolhoven committed Oct 22, 2018
    Configuration menu
    Copy the full SHA
    ab9b36d View commit details
    Browse the repository at this point in the history
  3. Corrected a key import problem.

    David Koolhoven authored and David Koolhoven committed Oct 22, 2018
    Configuration menu
    Copy the full SHA
    6b21577 View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2018

  1. Changed a configuration variable to make demo deployment

    more convenient.
    David Koolhoven authored and David Koolhoven committed Oct 24, 2018
    Configuration menu
    Copy the full SHA
    257e2fe View commit details
    Browse the repository at this point in the history
  2. Merge branch 'smimedemo' of github.com:koolsys/PKI.js into smimedemo

    David Koolhoven authored and David Koolhoven committed Oct 24, 2018
    Configuration menu
    Copy the full SHA
    4f535e1 View commit details
    Browse the repository at this point in the history
  3. When exporting as PKCS12, the private key and first

    certificate will now share the same localKeyID.
    David Koolhoven authored and David Koolhoven committed Oct 24, 2018
    Configuration menu
    Copy the full SHA
    2b7ff06 View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2018

  1. Test Filename Update

    David Koolhoven authored and David Koolhoven committed Oct 26, 2018
    Configuration menu
    Copy the full SHA
    ab3e7e4 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'smimedemo' of github.com:koolsys/PKI.js into smimedemo

    David Koolhoven authored and David Koolhoven committed Oct 26, 2018
    Configuration menu
    Copy the full SHA
    da2e9ba View commit details
    Browse the repository at this point in the history
  3. Merge remote-tracking branch 'upstream/master' into smimedemo

    David Koolhoven authored and David Koolhoven committed Oct 26, 2018
    Configuration menu
    Copy the full SHA
    dca10e8 View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2018

  1. Fixed a bug where encryption was pulling source data from an

    internal variable rather than a text field in the document.
    David Koolhoven authored and David Koolhoven committed Oct 27, 2018
    Configuration menu
    Copy the full SHA
    c3bd664 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'smimedemo' of github.com:koolsys/PKI.js into smimedemo

    David Koolhoven authored and David Koolhoven committed Oct 27, 2018
    Configuration menu
    Copy the full SHA
    2c55605 View commit details
    Browse the repository at this point in the history

Commits on Nov 1, 2018

  1. Trusted certificates are cleared from the internal array

    each time a new certificate is added to the textarea.
    David Koolhoven authored and David Koolhoven committed Nov 1, 2018
    Configuration menu
    Copy the full SHA
    61ed751 View commit details
    Browse the repository at this point in the history
  2. Certificate tables are now cleared before appending new

    tables to the document object. Information regarding parsed
    messages is cleared before new information is appended to
    the document object. Message encapsulation is now included.
    David Koolhoven authored and David Koolhoven committed Nov 1, 2018
    Configuration menu
    Copy the full SHA
    7f65d91 View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2018

  1. Configuration menu
    Copy the full SHA
    2a1cf28 View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2018

  1. Handle CryptoSubtle Better

    Added setEngine call so getCrypto will return undefined if
    window.crypto.subtle is undefined.
    David Koolhoven authored and David Koolhoven committed Nov 7, 2018
    Configuration menu
    Copy the full SHA
    685df09 View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2018

  1. Configuration menu
    Copy the full SHA
    f8a9c77 View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2018

  1. Configuration menu
    Copy the full SHA
    163758f View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2018

  1. Fix problem with getCrypto for old-style browsers

    Signed-off-by: YuryStrozhevsky <[email protected]>
    YuryStrozhevsky committed Nov 13, 2018
    Configuration menu
    Copy the full SHA
    fd4e9ac View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c9e2246 View commit details
    Browse the repository at this point in the history

Commits on Nov 19, 2018

  1. Fix problem described in issue PeculiarVentures#206

    Signed-off-by: YuryStrozhevsky <[email protected]>
    YuryStrozhevsky committed Nov 19, 2018
    Configuration menu
    Copy the full SHA
    578d0c3 View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2018

  1. Configuration menu
    Copy the full SHA
    69c9cac View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2018

  1. Possible fix for issue PeculiarVentures#210

    Signed-off-by: YuryStrozhevsky <[email protected]>
    YuryStrozhevsky committed Nov 29, 2018
    Configuration menu
    Copy the full SHA
    b165c18 View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2018

  1. Protections Against Wrong Types Added

    Checks for scheme type on data before decoding, this allows
    us to alert the user if a key is being used where a
    certificate should be. Also checks for base64 decode success
    before continuing.
    Removed setEngine call as issue PeculiarVentures#204 is closed upstream.
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    e31fdf1 View commit details
    Browse the repository at this point in the history
  2. First submission of a working CMS S/MIME encoding/decoding

    demo. Only works with the most up to date MUA which there
    only seems to be one open source project availabe at this
    time.
    
    Offloaded many switches into a separate config file named
    "smime.js". DOM operation centric routines where placed into
    "dom.js"
    
    Expanded the field which can be created in an X509
    certificate or PKCS10 to include alternate_name fields,
    including IP addresses. Removed email from the DN as it's
    depricated.
    
    Added nessesary parsing so multipart/signed messages can be
    parsed in this demo long with opaque signed.
    
    Expanded the amount of information extracted from included
    message certificates. Fields are first returned in an object
    with arrays, which are then proccessed into a table.
    
    Certificate chain for verification is extracted from the
    message at time of parsing.
    
    On branch smimedemo
    Changes to be committed:
    	new file:   examples/CMSSignedEncryptComplexExample/README.md
    	new file:   examples/CMSSignedEncryptComplexExample/SMIMESignEncryptionExample.xhtml
    	new file:   examples/CMSSignedEncryptComplexExample/dom.js
    	new file:   examples/CMSSignedEncryptComplexExample/es6.js
    	new file:   examples/CMSSignedEncryptComplexExample/package.json
    	new file:   examples/CMSSignedEncryptComplexExample/rollup.config.js
    	new file:   examples/CMSSignedEncryptComplexExample/smime.js
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    2f647df View commit details
    Browse the repository at this point in the history
  3. Remove bundle.js, accidentally included.

     On branch smimedemo
     Changes to be committed:
    	deleted:    examples/CMSSignedEncryptComplexExample/bundle.js
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    1382d78 View commit details
    Browse the repository at this point in the history
  4. Changed line ending from LF to CRLF for windows users.

    Changes to be committed:
    	modified:   examples/CMSSignedEncryptComplexExample/README.md
    	modified:   examples/CMSSignedEncryptComplexExample/SMIMESignEncryptionExample.xhtml
    	modified:   examples/CMSSignedEncryptComplexExample/dom.js
    	modified:   examples/CMSSignedEncryptComplexExample/es6.js
    	modified:   examples/CMSSignedEncryptComplexExample/rollup.config.js
    	modified:   examples/CMSSignedEncryptComplexExample/smime.js
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    9193fa2 View commit details
    Browse the repository at this point in the history
  5. Rename directory.

    Changes to be committed:
    	new file:   SMIMESignedEncryptComplexExample/README.md
    	new file:   SMIMESignedEncryptComplexExample/SMIMESignEncryptionExample.xhtml
    	new file:   SMIMESignedEncryptComplexExample/dom.js
    	new file:   SMIMESignedEncryptComplexExample/es6.js
    	new file:   SMIMESignedEncryptComplexExample/package.json
    	new file:   SMIMESignedEncryptComplexExample/rollup.config.js
    	new file:   SMIMESignedEncryptComplexExample/smime.js
    
    Changes not staged for commit:
    	deleted:    CMSSignedEncryptComplexExample/README.md
    	deleted:    CMSSignedEncryptComplexExample/SMIMESignEncryptionExample.xhtml
    	deleted:    CMSSignedEncryptComplexExample/dom.js
    	deleted:    CMSSignedEncryptComplexExample/es6.js
    	deleted:    CMSSignedEncryptComplexExample/package.json
    	deleted:    CMSSignedEncryptComplexExample/rollup.config.js
    	deleted:    CMSSignedEncryptComplexExample/smime.js
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    62c7e7b View commit details
    Browse the repository at this point in the history
  6. Changes to be committed:

    	modified:   examples/SMIMESignedEncryptComplexExample/dom.js
    	modified:   examples/SMIMESignedEncryptComplexExample/es6.js
    	modified:   examples/SMIMESignedEncryptComplexExample/smime.js
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    1ac56ba View commit details
    Browse the repository at this point in the history
  7. Transition from var to let. Renamed test file.

    Changes to be committed:
    	modified:   examples/SMIMESignedEncryptComplexExample/package.json
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    06d1bc8 View commit details
    Browse the repository at this point in the history
  8. Switched from constructor calls to litteral calls where

    possible.
    
    Changes to be committed:
    	modified:   examples/SMIMESignedEncryptComplexExample/es6.js
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    2cc828a View commit details
    Browse the repository at this point in the history
  9. Removing copied files from branch.

    Changes to be committed:
    	deleted:    examples/CMSSignedEncryptComplexExample/README.md
    	deleted:    examples/CMSSignedEncryptComplexExample/SMIMESignEncryptionExample.xhtml
    	deleted:    examples/CMSSignedEncryptComplexExample/dom.js
    	deleted:    examples/CMSSignedEncryptComplexExample/es6.js
    	deleted:    examples/CMSSignedEncryptComplexExample/package.json
    	deleted:    examples/CMSSignedEncryptComplexExample/rollup.config.js
    	deleted:    examples/CMSSignedEncryptComplexExample/smime.js
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    139edb0 View commit details
    Browse the repository at this point in the history
  10. Remove JSLint warnings. Must set following globals in JSLint:

    var Blob;
    var crypto;
    var TextEncoder;
    var TextDecoder;
    var context;
    var it;
    var assert;
    
    Options: Allow "this",
             Allow bitwise operators.
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    915c317 View commit details
    Browse the repository at this point in the history
  11. Implemented "use strict" in accordance with the environment

    the functions would operate in.
    
    Removed one variable from the global space.
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    eb916e5 View commit details
    Browse the repository at this point in the history
  12. Text box label will now appear above as a block rather than

    to the left.
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    2dc801a View commit details
    Browse the repository at this point in the history
  13. Parsed certificate table generator now produces internal

    tables to list Subject attribute value pairs, and alt name
    rather than generating a DN string and an unordered.
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    2e72d96 View commit details
    Browse the repository at this point in the history
  14. Corrected a problem when clicking import certificates.

    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    ef10c03 View commit details
    Browse the repository at this point in the history
  15. Corrected a key import problem.

    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    76b6478 View commit details
    Browse the repository at this point in the history
  16. Changed a configuration variable to make demo deployment

    more convenient.
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    26675a2 View commit details
    Browse the repository at this point in the history
  17. When exporting as PKCS12, the private key and first

    certificate will now share the same localKeyID.
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    cd0115d View commit details
    Browse the repository at this point in the history
  18. Test Filename Update

    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    0875363 View commit details
    Browse the repository at this point in the history
  19. Fixed a bug where encryption was pulling source data from an

    internal variable rather than a text field in the document.
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    54981d9 View commit details
    Browse the repository at this point in the history
  20. Trusted certificates are cleared from the internal array

    each time a new certificate is added to the textarea.
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    889c836 View commit details
    Browse the repository at this point in the history
  21. Certificate tables are now cleared before appending new

    tables to the document object. Information regarding parsed
    messages is cleared before new information is appended to
    the document object. Message encapsulation is now included.
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    88286db View commit details
    Browse the repository at this point in the history
  22. Handle CryptoSubtle Better

    Added setEngine call so getCrypto will return undefined if
    window.crypto.subtle is undefined.
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    948ed53 View commit details
    Browse the repository at this point in the history
  23. Protections Against Wrong Types Added

    Checks for scheme type on data before decoding, this allows
    us to alert the user if a key is being used where a
    certificate should be. Also checks for base64 decode success
    before continuing.
    Removed setEngine call as issue PeculiarVentures#204 is closed upstream.
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    3f46af1 View commit details
    Browse the repository at this point in the history
  24. Merge branch 'smimedemo' of github.com:koolsys/PKI.js into smimedemo

    Recommended by git program
    David Koolhoven authored and David Koolhoven committed Dec 5, 2018
    Configuration menu
    Copy the full SHA
    fc1ac16 View commit details
    Browse the repository at this point in the history