Skip to content

Releases: JayBrown/DiMaGo

v1.5.2

Choose a tag to compare

@JayBrown JayBrown released this 16 Sep 09:29

What's new

  • option to append date to disk image basename; format: CHOSEN_NAME-yyyymmdd.dmg

File information

File: DiMaGo-v1.5.2-beta-20160916.dmg
Size: 0.644032 MB
Hash (SHA-2, 256 bit): efc79767fa7a87f6f130f3488e4a28b873e5b378cba260c37e1070fbeed685ca
Minisign public key: RWSHxwNerDDQN8RlBeFUuLkB9bPqsR2T6es0jmzguvpvqWiXjxzTfaRY
Prehashing: false [compatible with OpenBSD signify]

v1.5.1

Choose a tag to compare

@JayBrown JayBrown released this 15 Sep 11:44

What's new

Main workflow/script

  • added check if target's parent directory is not writable; in such cases the disk image will be created in the user's home folder
  • now writes user account name to preferences (see below: Launch Agent root check)

Launch Agent

  • helper script received its own version number; currently at v1.0.1
  • if helper script is running as root, it does not quit if main workflow/script has also been running as root
  • added ProcessType key with value Background to the agent plist
  • added Disabled key with value false to the agent plist
  • note: unload the agent before updating the plist: launchctl unload $HOME/Library/LaunchAgents/local.lcars.DiMaGoScanner.plist

File information

File: DiMaGo-v1.5.1-beta-20160915.dmg
Size: 0.641012 MB
Hash (SHA-2, 256 bit): b130c09d9355408c0479b7412435fd8d35422f85d60a4373c77b36fc50b7fc88
Minisign public key: RWSHxwNerDDQN8RlBeFUuLkB9bPqsR2T6es0jmzguvpvqWiXjxzTfaRY
Prehashing: false [compatible with OpenBSD signify]

v1.5.0

Choose a tag to compare

@JayBrown JayBrown released this 13 Sep 14:17

What's new

  • major update
  • included ReadMe text file with installation instructions and terminal-notifier
  • user can now select one of his S/MIME identities to sign the CMS file containing the disk image checksum(s)
  • canceling the identity selection will sign the CMS with the default DiMaGo Base Identity
  • extended the verify and verify/concat scripts to show the signing identity's common name
  • introduced in-script functions pk-scan and id-scan
  • keys and identities are scanned at first run, and again if no scans have occurred for 30 and 90 days respectively
  • valid public S/MIME keys and valid S/MIME identities are now written to a DiMaGo SQLite database
  • SQLite ROWID is taken into account, in case the user (for some reason) has two valid certificates for the same email address
  • key/identity lists now also show ⚠️ expiration date if a key/identity will expire in the current year
  • user has the option to 🔍 Rescan for new valid public S/MIME identities from within the script (public key selection)
  • user has the option to 🔍 Rescan for new valid S/MIME identities from within the script (CMS generation; identity selection)
  • added creation date to comment field in a disk image's DiMaGo keychain entry
  • added target, volume or basename information to the DiMaGo window titles

LaunchAgent

  • added an optional (but recommended) LaunchAgent local.lcars.DiMaGoScanner.plist and its corresponding helper script dimago-scan.sh
  • install the helper script into /usr/local/bin and enter chmod +x /usr/local/bin/dimago-scan.sh in your shell
  • then install the agent into $HOME/Library/LaunchAgents and load with launchctl load $HOME/Library/LaunchAgents/local.lcars.DiMaGoScanner.plist
  • if loaded, the LaunchAgent will run every 8 hours to activate the helper script as a low-level background process with a nice setting of 20
  • the script will auto-rescan for valid public S/MIME keys and valid S/MIME identities and write the results to the DiMaGo database (destructive)

File information

File: DiMaGo-v1.5.0-beta-20160913.dmg
Size: 0.620863 MB
Hash (SHA-2, 256 bit): 9aab0d76b34bf982dda380ef7c409f29f8e8a7189e5bfef136b65da5e476f131
Minisign public key: RWSHxwNerDDQN8RlBeFUuLkB9bPqsR2T6es0jmzguvpvqWiXjxzTfaRY
Prehashing: false [compatible with OpenBSD signify]

v1.4.1

Choose a tag to compare

@JayBrown JayBrown released this 08 Sep 12:45

What's new

  • since a user's local DiMaGo Base Identity is also used to sign the CMS checksum file(s), the identity's public key might wind up in other users' keychains; so in order to distinguish each base identity in the wild, the certificate now also contains the random email address string in the subject's common name
  • users can keep their old base identity, but if they want a new one, they just need to delete the preferences file:
    rm -rf ~/Library/Preferences/local.lcars.dimago.plist
  • DiMaGo now ignores public keys of other users' base identities that wound up in the local keychain, e.g. from a CMS signature; these public keys are only meant for CMS signing and local encryption for the owner of the private key
  • the public key list now also contains the subject's common name alongside the email address
  • sleeps for 1 second before codesigning; sometimes the system isn't fast enough, and codesign will not receive the disk image's filename in time to use for Notification Center

File information

File: DiMaGo-v1.4.1-beta-20160908.dmg
Size: 0.326511 MB
Hash (SHA-2, 256 bit): 21a83d3ad58533bd9474d72a9e45e18ae4926d582d7d4b9c61f9d20cc30bf673
Minisign public key: RWSHxwNerDDQN8RlBeFUuLkB9bPqsR2T6es0jmzguvpvqWiXjxzTfaRY
Prehashing: false [compatible with OpenBSD signify]

v1.4.0

Choose a tag to compare

@JayBrown JayBrown released this 07 Sep 22:35

What's new

  • aborted use of gsplit (GNU split) to segment DMGs
  • DiMaGo now uses the native macOS split command and changes the segment extensions after-the-fact, e.g. .aaa to .000, .aab to .001 etc.
  • that way it stays compatible with third-party tools like MacHacha
  • now also writes the DMG checksum to a CMS file signed with the DiMaGo Base Identity
  • creates a shell command file that will auto-verify the checksum based on the secure information stored in the CMS file
  • does the same thing for DMG segments: (a) checksums to CMS file; (b) auto-verify plus (c) auto-concat of segments
  • note that a DMG's code signature is removed once it has been split using the split or gsplit command
  • bug fix: disk image file size comparisons
  • changed -e to -f in some cases (file exists incl. directory vs. file exists as regular file)

File information

File: DiMaGo-v1.4.0-beta-20160908.dmg
Size: 0.276489 MB
Hash (SHA-2, 256 bit): 8c3c309f8e66d1106b143b74a8b3c6a9dee1a6580fddd611545542d763f5355a
Minisign public key: RWSHxwNerDDQN8RlBeFUuLkB9bPqsR2T6es0jmzguvpvqWiXjxzTfaRY
Prehashing: false [compatible with OpenBSD signify]

v1.3.1

Choose a tag to compare

@JayBrown JayBrown released this 07 Sep 09:46

What's new

  • security update: changed parts of the local DiMaGo identity creation
  • delete the DiMaGo preferences file first:

rm -rf ~/Library/Preferences/local.lcars.dimago.plist

  • on next run DiMaGo will create a new local S/MIME base identity, but now using a random string instead of using hostname and id -un
  • after that you can open Keychain Access and delete the old DiMaGo base certificate and its secret key, but that's optional
  • you should leave the old identity if you've already encrypted disk images with it

File information

File: DiMaGo-v1.3.1-beta-20160907.dmg
Size: 0.209673 MB
Hash (SHA-2, 256 bit): c36ba60fcd56e455a5fb329a0391100134cc9e15efd354031766130466d23567
Minisign public key: RWSHxwNerDDQN8RlBeFUuLkB9bPqsR2T6es0jmzguvpvqWiXjxzTfaRY
Prehashing: false [compatible with OpenBSD signify]

v1.3.0

Choose a tag to compare

@JayBrown JayBrown released this 06 Sep 12:47

What's new

  • Security Update
  • passphrases now have to be entered twice
  • user must now choose either to store a manually entered passphrase in a DiMaGo keychain entry, or only copy it to clipboard, or do nothing
  • in case of random passwords user only has the choice between keychain store and clipboard copy
  • removed access to DiMaGo keychain entries for security (not necessary) and partially for disk-image-helper (in cases where no passphrase is stored for auto-mount)
  • added UUID to the comment string

Bugs

  • When using more than 1 (one) public S/MIME key (SKID), hdiutil produces an error message: __NSArrayM object 0x############# overreleased while already deallocating; break on objc_overrelease_during_dealloc_error to debug; however, the disk image is still created
  • When using more than 9 (nine) SKIDs to encrypt a disk image (password or no password), hdiutil crashes with multiple instances of the above stderr; then the disk image is not created

This is sadly not a DiMaGo bug, which I would be able to fix, but due to bad Objective-C coding on Apple's part.

File information

File: DiMaGo-v1.3.0-beta-20160906.dmg
Size: 0.267702 MB
Hash (SHA-2, 256 bit): ded5329256fbf77d870d1064550eaf30171ad7bc43b15e758c80817328471cc3
Minisign public key: RWSHxwNerDDQN8RlBeFUuLkB9bPqsR2T6es0jmzguvpvqWiXjxzTfaRY
Prehashing: false [compatible with OpenBSD signify]

v1.2.0

Choose a tag to compare

@JayBrown JayBrown released this 06 Sep 10:13

What's new

  • moved local DiMaGo S/MIME identity creation to the beginning of the script
  • this S/MIME identity is now created at first run

This ensures that the user has at least one identity in his keychain which he can use to encrypt disk images for himself.

File information

File: DiMaGo-v1.2.0-beta-20160906.dmg
Size: 0.200562 MB
Hash (SHA-2, 256 bit): 3a549cb60a300a4aed6a7e2623792a17b9da4a91806d28d250597b8e4015b54c
Minisign public key: RWSHxwNerDDQN8RlBeFUuLkB9bPqsR2T6es0jmzguvpvqWiXjxzTfaRY
Prehashing: false [compatible with OpenBSD signify]

v1.1.0

Choose a tag to compare

@JayBrown JayBrown released this 05 Sep 17:29

What's new

  • now offers to create a self-signed root S/MIME certificate with openssl if the user's keychains don't contain any valid public S/MIME keys; this certificate is for local encryption tasks only, and its virtual email address is a combination of the hostname as local domain, the user's account name, and the string "DiMaGo"; the new certificate is then imported into the login.keychain (together with the secret key) and set with the option trustRoot; the key and export passwords are also stored
  • removed a testing variable from the workflow version, which resulted in DiMaGo using AppleScript notifications exclusively

File information

File: DiMaGo-v1.1.0-beta-20160905.dmg
Size: 0.188057 MB
Hash (SHA-2, 256 bit): 609c16fc8675a126e967c5d23b134be8ab64c4c7453956c4fa2a873dea23adb4
Minisign public key: RWSHxwNerDDQN8RlBeFUuLkB9bPqsR2T6es0jmzguvpvqWiXjxzTfaRY
Prehashing: false [compatible with OpenBSD signify]

v1.0.3

Choose a tag to compare

@JayBrown JayBrown released this 05 Sep 11:18

What's new

  • bug fix: notifications with osascript
  • check for existing disk image with the same name; ask user to replace or rename
  • add notification when disk image creation starts
  • add hdiutil option -layout GPTSPUD just to be on the safe side
  • little things

File Information

File: DiMaGo-v1.0.3-beta-20160905.dmg
Size: 0.139994 MB
Hash (SHA-2, 256 bit): 8486ba52c9a4388ecbd6596ae88d54ab1e8ee90334214d1b4245f0afdcb12adf
Minisign public key: RWSHxwNerDDQN8RlBeFUuLkB9bPqsR2T6es0jmzguvpvqWiXjxzTfaRY
Prehashing: false [compatible with OpenBSD signify]